为什么要学习数据结构和算法?
- 任何一个有些规模的程序都需要某种类型的数据结构来保存程序中用到的数据,还需要一个或多个算法 将数据从输入转换为输出。
- 深入学习数据结构和算法,不仅可以知道哪种数据结构和算法更高效,还会知道如何找出 最适合解决手头问题的数据结构和算法。
对于很多编程问题,当他们想出一个合适的数据结构,设计和实现解决这些问题的算法就变得手到擒来。设计二叉查找树的目的是为了方便查找一组数 据中的最小值和最大值,由这个数据结构自然引申出一个查找算法,该算法比目前最好的 查找算法效率还要高。不熟悉二叉查找树的程序员可能会使用一个更简单的数据结构,但 效率上就打了个折扣。
学习算法非常重要,因为解决同样的问题,往往可以使用多种算法。对于高效程序员来 说,知道哪种算法效率最高非常重要。比如,现在至少有六七种排序算法,如果知道快速 排序比选择排序效率更高,那么就会让排序过程变得高效。又比如,实现一个线性查找的 算法很简单,但是如果知道有时二分查找可能比线性查找快两倍以上,那你势必会写出一 个更好的程序
网友评论