
从零开始学嵌入式-4.数据结构与算法
文章平均质量分 69
4.数据结构与算法
Jing's secret
头发少,样子老,背个双肩包像沙雕
展开
-
4.8 树的实现(下)
代码实现树的先序输入,先序输出、中序输出、与后序输出。原创 2023-05-18 15:14:15 · 43 阅读 · 0 评论 -
4.7 树的实现(上)
按不同的次序访问可得不同的访问系列,每个节点有它的逻辑前趋(父节点)和逻辑后继(子节点),也有它的遍历前趋和遍历后继(要指明遍历方式)。具有n个节点的完全二叉树的深度为 (log2n)+1或『log2(n+1)。NOORDER ( bitree *r) /*按编号顺序遍历算法*/若树中每个节点的各个子树的排列为从左到右,不能交换,即兄弟之间是有序的,则该树称为有序树。//再访问该结点的左子树。//最后访问该结点右子树。//先访问该结点的左子树。//先访问该结点的左子树。原创 2023-05-18 10:33:34 · 364 阅读 · 0 评论 -
4.6 队列实现及其应用(下)
插入操作在队尾进行,删除操作在队头进行,由队头指针和队尾指针控制队列的操作。原创 2023-05-12 15:18:03 · 57 阅读 · 0 评论 -
4.5 队列实现及其应用(上)
队列是限制在两端进行插入操作和删除操作的线性表 允许进行存入操作的一端称为“队尾” 允许进行删除操作的一端称为“队头” 当线性表中没有元素时,称为“空队” 特点 :先进先出(FIFO)/*定义队列中数据元素的数据类型*//*指示队头位置和队尾位置的指针*/在队列操作过程中,为了提高效率,以调整指针代替队列元素的移动,并将数组作为循环队列的操作空间。在队列操作过程中,为了提高效率,以调整指针代替队列元素的移动,并将数组作为循环队列的操作空间。/*用数组作为队列的储存空间*//*顺序队列类型定义*/原创 2023-05-12 09:42:31 · 343 阅读 · 0 评论 -
4.4 栈实现及其应用
它是顺序表的一种,具有顺序表同样的存储结构,由数组定义,配合用数组下标表示的栈顶指针top(相对指针)完成各种操作。/*用指针指向栈的存储空间*/int top;/*指示栈顶位置(数组下标)的变量*/typedef int data_t;/*定义栈中数据元素的数据类型*/int maxlen;/*当前栈的最大元素个数*//*顺序栈类型定义*/当栈中没有元素时称为“空栈”。栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈)允许进行操作的一端称为“栈顶”原创 2023-05-11 17:18:25 · 464 阅读 · 0 评论 -
4.3 线性表之链表
算法思路:调用算法GetLinklist(h, i-1),获取结点ai-1的指针p(ai 之前驱),然后申请一个q结点,存入x,并将其插入p指向的结点之后。算法思路:从链表结点a0起,依次判断某结点是否等于x,若是,则返回该结点的地址,若不是,则查找下一结点a1,依次类推。算法思路:同插入法,先调用函数GetLinklist(h, i-1),找到结点ai的前驱,然后将结点ai删除之。算法思路:从链表的a0起,判断是否为第i结点,若是则返回该结点的指针,否则查找下一结点,依次类推。//结点的后继指针域//原创 2023-05-09 14:15:35 · 420 阅读 · 0 评论 -
4.2 线性表顺序表
删除前: (a0,a1,---,ai-1,ai,ai+1-------,an-1) 删除后: (a0,a1,---,ai-1,ai+1-------,an)插入前: (a0,a1,---,ai-1,ai,ai+1-------,an-1) 0≤i≤n,i=n时,x插入表尾。插入后: (a0,a1,---,ai-1, x, ai,ai+1-------,an-1)设计清除线性表L=(a0,a1,---,ai,-------,an-1)中重复元素的算法。原创 2023-05-06 15:22:01 · 597 阅读 · 0 评论 -
4.1 数据结构引入
数据结构研究计算机数据间关系;包括数据的逻辑结构和存储结构及其操作;原创 2023-05-06 10:29:47 · 332 阅读 · 3 评论