数据结构前言(1)

1、前言

数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。(7月26日)

2、数据结构

  • 数组、队列、链表、栈、哈希表、二叉树、Trie树、图

算法:

  • 递归、排序、二分查找、搜索、哈希算法、贫心算法、分治算法、回溯算法、动态规划、字符串匹配算法

3、数组

数组里的数据是按顺序排列的,每一个元素都有一个下标,标明它在数组中的位置。

4、链表

链表中的数据呈线性排列,每个数据都有一个指针,指向下一个数据的内存地址。

  • 如果添加元素,比如需要将数据C插到AB之间,只需要将A的指针指到C,将C的指针指到B即可。

  • 如果要将C从AB之间删除,只需要将原来A指到C的指针,改为从A指到B即可。

  • 链表优点添加和删除都很容易,但是不好查找。

5、二叉树

二叉搜索树中的每个节点都包含以下属性:

  • key:存储在节点中的值。
  • left:指向左索引的指针。
  • right:指向正确孩子的指针。
  • p:指向父节点的指针。

6、哈希表/散链表

哈希表是以键值对的方式来存储数据的

7、栈&堆

堆栈是一种LIFO(后进先出-最后放置的元素可以首先访问)结构,

堆栈的应用

  • 用于表达式评估(例如:用于解析和评估数学表达式的调车场算法)。
  • 用于在递归编程中实现函数调用。

8、学习数据结构和算法要分三步走

第一步先夯实基础,学习每个算法的基本思想,解题思路和应用场景

第二步对学习的算法知识进行归纳总结,提升对算法的熟练度,做到融会贯通

第三步则是提升思考高度,将各类算法之间的区别和联系搞清楚,做到举一反
数据结构前言(1)