嵌入式LinuxC语言基础-ARMLinux内核常见数据结构

嵌入式LinuxC语言基础-ARMLinux内核常见数据结构

ID:37756769

大小:307.60 KB

页数:19页

时间:2019-05-30

嵌入式LinuxC语言基础-ARMLinux内核常见数据结构_第1页
嵌入式LinuxC语言基础-ARMLinux内核常见数据结构_第2页
嵌入式LinuxC语言基础-ARMLinux内核常见数据结构_第3页
嵌入式LinuxC语言基础-ARMLinux内核常见数据结构_第4页
嵌入式LinuxC语言基础-ARMLinux内核常见数据结构_第5页
资源描述:

《嵌入式LinuxC语言基础-ARMLinux内核常见数据结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式LinuxC编程入门(第2版)(ByFarsight)http://www.farsight.com.cn/www.embedu.org第8章嵌入式LinuxC语言基础——ARMLinux内核常见数据结构本章目标链表的基本概念链表的基本操作方法ARMLinux中如何使用链表二叉树的基本概念树的遍历方法森林的基本概念森林的遍历方法平衡树的基本概念ARMLinux中如何实现红黑树哈希表的概念哈希表的操作方法ARMLinux中如何使用哈希表www.embedu.org链表链表是一种常见的重要数据结构,它可以动态地进行存储分配,根据需要开

2、辟内存单元,还可以方便地实现数据的增加和删除。链表中的每个元素都由两部分组成:数据域和指针域。www.embedu.org单链表的组织与存储单向链表的每个节点中除信息域以外还有一个指针域,用来指向其后续节点,其最后一个节点的指针域为空(NULL)。www.embedu.org单链表常见操作节点初始化测试数据是否存在链表的插入与删除将几个单链表合并www.embedu.org双向链表的组织与存储双向链表与单向链表不同,它的每个节点中包括两个指针域,分别指向该节点的前一个节点和后一个节点www.embedu.org双向链表的常见操作增加节点

3、删除节点www.embedu.org循环链表循环链表的组织结构与单链表非常相似,因此其操作与单链表也是一致的,惟一的差别仅在于在单链表中,算法判端到达链表尾的条件是p→next是否为空,而在双链表中,则是判断p→next是否等于头指针www.embedu.orgARMLinux中链表使用实例ARMLinux内核链表Linux内核链表接口声明和初始化插入删除www.embedu.org树树是n(n≥0)个节点的有限集合。若n=0,则称为空树;否则,有且仅有一个特定的节点被称为根,当n>1时,其余节点被分成m(m>0)个互不相交的子集T1、

4、T2、...、Tm,每个子集又是一棵树www.embedu.org二叉树二叉树是另一种树型结构,它是节点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。它的特点是每个节点至多只有两棵子树(即二叉树中不存在度大于2的节点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。www.embedu.org二叉树的顺序存储顺序存储结构链式存储结构www.embedu.org二叉树的链式存储typedefstructBTNode{EntryTypeitem;structBTNode*lch

5、ild,*rchlid;}BTNode,*BTree;www.embedu.org二叉树的常见操作遍历二叉树统计二叉树中的叶子节点统计二叉树中的高度www.embedu.org平衡树二叉树是一种非平衡树,各个子树之间的高度可能相差很大,这样就会造成平均性能的下降。平衡树包括很多种类,常见的有B树、AVL树、红黑树等www.embedu.org红黑树是指满足下列条件的二叉搜索树。性质1:每个节点要么是红色,要么是黑色(后面将说明)。性质2:所有的叶节点都是空节点,并且是黑色的。性质3:如果一个节点是红色的,那么它的两个子节点都是黑色

6、的。性质4:节点到其子孙节点的每条简单路径都包含相同数目的黑色节点。性质5:根节点永远是黑色的。www.embedu.org红黑树插入节点的过程如下。在树中搜索插入点。新节点将替代某个已经存在的空节点,并且将拥有两个作为子节点的空节点。新节点标记为红色,其父节点的颜色根据红黑树的定义确定,如果需要,对树作调整。www.embedu.org哈希表的构造方法构造哈希表实际上也就是构造哈希函数以确定关键值的存储位置,并能尽可能地减少哈希冲突的个数。直接定址法数字分析法折叠法除留余数法随机数法www.embedu.org哈希表的处理冲

7、突方法开放定址法再哈希法链地址法建立一个公共溢出区www.embedu.org

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。