什么是数据结构和算法?学算法还需要去了解数据结构吗?我是这么理解的,数据结构就是数据在内存中的排列形式 比如可以是连续的 或者 分散的 或者是树型的等等方式排列的某一种结构.算
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 00:56:03
![什么是数据结构和算法?学算法还需要去了解数据结构吗?我是这么理解的,数据结构就是数据在内存中的排列形式 比如可以是连续的 或者 分散的 或者是树型的等等方式排列的某一种结构.算](/uploads/image/z/10133484-60-4.jpg?t=%E4%BB%80%E4%B9%88%E6%98%AF%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E7%AE%97%E6%B3%95%3F%E5%AD%A6%E7%AE%97%E6%B3%95%E8%BF%98%E9%9C%80%E8%A6%81%E5%8E%BB%E4%BA%86%E8%A7%A3%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%90%97%3F%E6%88%91%E6%98%AF%E8%BF%99%E4%B9%88%E7%90%86%E8%A7%A3%E7%9A%84%2C%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%B0%B1%E6%98%AF%E6%95%B0%E6%8D%AE%E5%9C%A8%E5%86%85%E5%AD%98%E4%B8%AD%E7%9A%84%E6%8E%92%E5%88%97%E5%BD%A2%E5%BC%8F+%E6%AF%94%E5%A6%82%E5%8F%AF%E4%BB%A5%E6%98%AF%E8%BF%9E%E7%BB%AD%E7%9A%84+%E6%88%96%E8%80%85+%E5%88%86%E6%95%A3%E7%9A%84+%E6%88%96%E8%80%85%E6%98%AF%E6%A0%91%E5%9E%8B%E7%9A%84%E7%AD%89%E7%AD%89%E6%96%B9%E5%BC%8F%E6%8E%92%E5%88%97%E7%9A%84%E6%9F%90%E4%B8%80%E7%A7%8D%E7%BB%93%E6%9E%84.%E7%AE%97)
什么是数据结构和算法?学算法还需要去了解数据结构吗?我是这么理解的,数据结构就是数据在内存中的排列形式 比如可以是连续的 或者 分散的 或者是树型的等等方式排列的某一种结构.算
什么是数据结构和算法?学算法还需要去了解数据结构吗?
我是这么理解的,数据结构就是数据在内存中的排列形式 比如可以是连续的 或者 分散的 或者是树型的等等方式排列的某一种结构.
算法就是在数据结构的基础上编出来的一种函数,就是说先有物理层的支持,然后才有的算法,那是不是说算法对应着数据结构,比如我要比较数的大小,我就调用一个比较算法的函数,然后这个函数就会在内存里以这个函数对应的数据结构方式排列?
如果我想要排序数字了,那这时候我要调用另一个排序的函数算法,这个算法就会在内存里把数按另一种数据结构方式排列?
那我感觉数据结构是相对应硬件方面来说的,毕竟在内存里排列,多少有点接近硬件了,那一般说学数据结构和算法 有什么用?
我感觉学算法还有点用,毕竟会了算法 就知道怎么实现功能了,那数据结构学了是不是就是能了解数据在内存里的表现形式这样多多少少便于了解下?还有别的用处吗?
比如说 数组也算是一种数据结构 那我把数组的函数算法学会了 不去学数组的数据结构或者说不想知道数据结构什么的 是不是也行?
1先看看我对数据结构和算法的理解对不对?
只学算法 不了解数据结构什么的
什么是数据结构和算法?学算法还需要去了解数据结构吗?我是这么理解的,数据结构就是数据在内存中的排列形式 比如可以是连续的 或者 分散的 或者是树型的等等方式排列的某一种结构.算
你这理解不完全正确.
因为数据结构不只是内存中数据的排列,它是对数据的一种组织方式,就像图书馆要排书一样,是为了便于操作,同时它本身也集成了对通用操作:比如查找、比较等的支持.数组不是一种数据结构,而是一种数据类型.一个完整的数据结构包括逻辑结构和存储结构.通常选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素.
因此在语言实现上,数据结构通常也会包含与之相对应的算法集合,这些算法是指基本算法:查找、索引、比较等.
数据结构的逻辑结构和硬件是没有关系的,而其存储结构受到计算机硬件系统工作方式的影响,通常这点影响在于数据时顺序存储还是离散存储.算法的基础是数据结构.只有指定明确的数据结构,算法才能设计完成,脱离数据结构,算法是无法,也不可能成立的.因为不需要数据的算法就不是一个有效的计算机算法,算法中任何对数据的组织形式都可以被称之为数据结构.
2.数据结构在编程中的地位是极其重要的,是一个程序实现的基础中的基础,在此基础上才能构建算法.通常而言,你不了解什么高深的算法,一样能完成工作,但是如果你不了解基本的数据结构,那么可以说,你根本就不能完成一个任何有实质性内容的程序.Donald Ervin Knuth教授在其《计算机程序设计艺术》的第一卷《基本算法》中花费的绝大部分的篇幅去论述数据结构.由此可见数据结构对算法的重要性.