数据结构和算法

  • 1、数据结构和算法概念
  • 2、数据结构和算法的关系
  • 3、复杂度分析
  • 4、常用(基础)数据结构和算法
  • 5、为什么需要数据结构和算法


1、数据结构和算法概念

从广义上讲,数据结构就是指有数据的存储结构,算法就是操作数据的一组方法
比如图书馆会将数据分类摆放,按照一定规律编号,就是书籍这种数据的存储结构
一本一本的找或者根据书籍类别编号,是人文、计算机还是科学来定位暑假,然后再依次查找。笼统的说这些查找方法都是算法。

2、数据结构和算法的关系

数据结构和算法是相辅相成的。数据结构是为算法服务的,因为算法要作用在特定的数据结构上。因此我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构

3、复杂度分析

数据结构和算法解决的是如何更省、更快地存储和处理数据的问题,因此我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。

知道怎么去分析复杂度,才能作出正确的判断,在特定的场景下,选用合适的,正确的算法。

复杂度分析概念几乎占据了数据结构和算法这门课的半壁江山,是数据结构和算法学习的精髓

4、常用(基础)数据结构和算法

数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树
算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法

5、为什么需要数据结构和算法

计算机科学和互联网快速发展的情况下,需要计算的数据量越来越大,但是计算机的计算能力是有限的。这么大量的数据计算,需要的计算机越来越多,需要越来越长的计算时间。
因此使用合适的数据结构和算法,特别是在处理体量非常庞大的数据的时候,可以极大的提高计算效率