复杂数据结构的简单总结
1、链表、哈希表、二叉树、图
(1)链表
用途:linux内核、驱动、应用编程都会用到
要求:会自己定义结构体来实现链表、会写链表的节点插入(前插、后插)、节点删除、节点查找、节点遍历等。
(2)哈希表
直接使用别人实现的哈希表
原理:对比数组,映射key=1*x(x为小标)
哈希表,映射key=f(x),key=n*x+c(固定公式)
(3)二叉树、图
复杂数据结构在嵌入式中用到的概率很小
2、为什么需要更复杂的数据结构
实际问题复杂度不同,需要解决问题的算法和数据结构也不同
3、数据结构和算法的关系
数据结构是研究数据在内存中是如何组织的,算法是为了更有效的加工数。数据结构配合算法,算法为了处理具体问题,算法的实现依赖于相应的数据结构。