热心网友
回答时间:2022-05-16 14:48
本人还是自称为菜鸟好了,学了一点相关知识,谈不上指点,心得倒是马马虎虎,见笑
数据结构和算法设计是分不开的(大学课程里面这是整个的一门课)。对于软件初学者,这部分内容不是特别重要,因为很自然,新手总是喜欢用简单、好理解、易实现的方式去写代码;由于软件本身的架构简单,在空间和时间资源的消耗上也几乎可以忽略。比如只有几十个数据排序,那么单向链表+简单插入排序足矣。
随着学习深入,数据结构与算法的重要作用也就逐渐明显起来,尤其对于大型复杂的软件体系结构。因为硬件的发展速度远比不上软件的膨胀速度,对于一些大型的软件,可供使用的空间资源和可以容忍的时间复杂度相当有限(在使用者的角度,他当然会希望一个软件产品占用空间小,功能全,速度快),这就需要良好的数据结构和有效的算法去支撑,用上面的例子,如果有几十万个甚至上亿个数据需要排序,若不小心考虑数据结构与算法的设计,运行的结果将不堪设想。
一楼所说的数据库是一个重要的应用方面,尤其对于当今海量的数据而言。一个好的设计,可能用一台机子几分钟计算出结果,而一个差的设计,可能多机协同工作算几小时甚至几天。
更明显的例子就是操作系统,其作用毋庸置疑,当然需要高效、节约,因为还要支撑其他软件的运行;设计过程中,对于一些可选的数据结构以及算法,就要仔细斟酌了。
再比如游戏,太显然的例子,低端配置跑高端产品,谁都希望
在个人的学习过程中,理解数据结构和算法设计很有助于深入理解软件系统,无论自己写,还是读别人的成果。
个人的愚见。更多的精髓,如果楼主感兴趣的化,就会在学习中慢慢体会了
收起