数据结构与算法------准备篇

算法与数据结构的概念

从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。

  数据结构:图书馆储藏书籍你肯定见过吧?为了方便查找,图书管理员一般会将书籍分门别类进行“存储”。按照一定规律编号,就是书籍这种“数据”的存储结构。

  算法:那我们如何来查找一本书呢?有很多种办法,你当然可以一本一本地找,也可以先根据书籍类别的编号,是人文,还是科学、计算机,来定位书架,然后再依次查找。笼统地说,这些查找方法都是算法。

从狭义上讲,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。这些都是前人智慧的结晶,我们可以直接拿来用。我们要讲的这些经典数据结构和算法,都是前人从很多实际操作场景中抽象出来的,经过非常多的求证和检验,可以高效地帮助我们解决很多实际的开发问题。

 数据结构是为算法服务的,算法要作用在特定的数据结构之上。

   比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但如果我们选择链表这种数据结构,二分查找算法就无法工作了,因为链表并不支持随机访问。

   数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

 

在这里提一句题外话:我忍为学习一门技术或者说学习一个东西,1.要先搞懂这个东西的前世今生(来历);2.要知道它的设计理念,以及用法;3.要了解它所能解决的问题,以及适合解决的问题;4.要清楚它的使用场景; 

极客时间 ----- 算法与数据结构之美

猜你喜欢

转载自www.cnblogs.com/sleepy-goblin/p/10127604.html