嵌入式开发常用的数据结构和算法

------------------------------------------------------------
做嵌入式写下层代码如果不懂数据结构和算法可能就比较悲剧了。
都是PDF格式的PPT,说白了就是一个简易的STL的设计原理外加一点扩充。
版权:文档部分GFDL,代码部分LGPL。
------------------------------------------------------------
第1部分
1. 大O和迭代器 (最基本的理论)
2. 动态数组vector(理论推导和设计原理)
3. 双链表list(跟STL的双链表list相似)
4. 栈和队列stack, queue (静态双端队列circular_buffer速度秒杀boost的circular_buffer,动态双端队列deque,分别配接成静态动态栈和队列)
5. 优先队列(堆排序的思想+动态数组vector)
http://www.cppblog.com/Files/Chipset/lectures_part1.7z

第2部分
6. 常用算法(检索,排序,仿函数等设计原理)
7. 轻量级关联容器(用动态排序数组代替红黑树做轻量级关联容器,适合很少的插入和删除,大量的检索,内存紧张场合)
8. 内存管理器基础(边界标记,位图,自由列表,引用计数)
9. 哈希表(不同数据类型的哈希算法,三个哈希表的原理,速度和内存上每一个都有不俗的表现,秒杀gcc和boost下的unordered_xxx)
http://www.cppblog.com/Files/Chipset/lectures_part2.7z
--------------------------------------------------------------
以上各部分的所有代码:
http://www.cppblog.com/Files/Chipset/code123456789.7z
--------------------------------------------------------------
所有的代码在WinXp x86用32位g++4.6.1编译Ok,所有代码在Win7 x64用64位g++4.6.1编译Ok。
发现任何问题请反馈,Chipset感谢您。

http://www.cppblog.com/Chipset/archive/2012/03/07/167329.html

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
嵌入式数据结构嵌入式开发中非常重要的一部分。通过对数据对象及其实例之间的联系进行组织和管理,数据结构嵌入式系统中起到了关键的作用。根据引用中的描述,数据结构是指存在于数据对象的实例和组成实例的数据元素之间的各种联系。简单来说,数据结构就是数据和数据之间的关系。 在嵌入式系统中,数据结构的使用具有以下几个重要的目的。首先,数据结构可以用来优化内存的使用。嵌入式系统通常具有有限的存储空间,因此使用适当的数据结构可以最大程度地节省内存。其次,数据结构可以提高数据的访问和操作效率。通过选择合适的数据结构算法,可以实现快速的数据查询和处理。此外,数据结构还可以提高代码的可读性和可维护性,使嵌入式软件开发更加高效。 具体的嵌入式数据结构知识点包括但不限于以下几个方面: - 数组(Array):在嵌入式系统中,数组是一种常用数据结构,用于存储同类型的数据元素。通过索引可以快速访问数组中的数据。 - 链表(Linked List):链表是一种动态数据结构,可以根据需要进行灵活的插入和删除操作。它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。 - 栈(Stack):栈是一种后进先出(LIFO)的数据结构,只允许在栈顶进行插入和删除操作。在嵌入式系统中,栈常用于函数调用和中断处理等场景。 - 队列(Queue):队列是一种先进先出(FIFO)的数据结构,允许在队尾插入元素,在队头删除元素。在嵌入式系统中,队列常用于任务调度和事件处理等场景。 - 树(Tree):树是一种非线性的数据结构,由节点和边组成。在嵌入式系统中,二叉树和二叉搜索树是常见的树结构,用于实现高效的数据存储和搜索。 - 图(Graph):图是一种由节点和边组成的数据结构,节点之间的连接关系可以是任意的。在嵌入式系统中,图常用于表示网络拓扑结构和路径规划等问题。 总之,嵌入式数据结构嵌入式开发中不可或缺的一部分。了解和熟练运用各种数据结构,可以提高嵌入式系统的性能和效率,并实现功能的高效实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值