我们常说adt,不是Android development kit,这里说的是abstract data type!通常一个adt定义了数据结构以及数据结构上的操作。对于一个复杂的问题,往往一开始并没有合适的数据结构来应对该问题,那么怎么办,比如机械硬盘,现在这个硬盘,我们我知道了有随机访问慢,顺序访问快的特点,文件存储也不连续,怎么办,如何充分利用机械硬盘特点,更快的查找,访问数据,针对特点,构造了b+树这种特殊的数据结构,伴随着这个数据结构,产生了一些算法,比如如何进行插入删除操作,才能保证b+的性质。
回复 ( 10 )
我们常说adt,不是Android development kit,这里说的是abstract data type!通常一个adt定义了数据结构以及数据结构上的操作。对于一个复杂的问题,往往一开始并没有合适的数据结构来应对该问题,那么怎么办,比如机械硬盘,现在这个硬盘,我们我知道了有随机访问慢,顺序访问快的特点,文件存储也不连续,怎么办,如何充分利用机械硬盘特点,更快的查找,访问数据,针对特点,构造了b+树这种特殊的数据结构,伴随着这个数据结构,产生了一些算法,比如如何进行插入删除操作,才能保证b+的性质。
你提这个问题,可能是没有遇到复杂的场景,没有自己设计过具体的数据结构。可能碰到的问题,用一些常用的栈,队列,堆等,组合一系列巧妙的操作就完了。
吃饭的时候用筷子,哪一根更重要?脱离数据结构的算法和脱离算法的数据结构都没有讨论的意义
对立统一。
数据结构和算法紧密相连。可以阅读算法 (豆瓣),这是最好的算法和数据结构的入门书。
实践中,有的行业算法用的比较多,比如计算机图形学,有的行业基本没算法,但是数据结构比较多,比如互联网
物理和数学哪个对世界更重要?
平时说到数据结构或算法指的不都是Data Structures & Algorithm吗…
感觉 是统一的主体,没有高深的算法,知道些数据结构,大多程序员安稳的工作着。
当然如果一点算法的概念不懂,估计也做不好很好的程序
工程图纸和砖块哪个重要?
相辅相成…
两手都要抓 两手都要硬
额
算了
我不明白什么adt 和什么 speacialize什么的
但我认为最佳数据结构的确立
有助于确立更好更棒的算法
使得整个程序更好更棒
所以 两者同样重要 但我认为这是个过程的 是有逻辑的