数据结构
黑糖儿*
这个作者很懒,什么都没留下…
展开
-
王道2-9 双向链表插入删除遍历
目录1.插入1.插入原创 2020-08-12 22:34:14 · 223 阅读 · 1 评论 -
5-递归遍历求结点数
树1. 结点总数2. 叶子结点总数3. 分支结点的总数4. 度为2的结点的个数5. 遍历树时显示每个结点的层号6. 树的深度7. 遍历时只输出树的第i层结点8. 完整代码遍历:前序遍历代码如下:#include "stdafx.h"#include "malloc.h"typedef struct BiTNode{ int data; struct BiTNode *lchild, *rchild;}BiTNode,*BiTree;int CreateBiTree(BiTr原创 2020-08-11 18:50:57 · 445 阅读 · 0 评论 -
王道 2.07-2.08查找
目录1.查找1.1按位查找 GetElem(L,i) L中第i个结点--O(n)1.1按值查找 LocateElem(L,e)--O(n)1.2求单链表的长度--O(n)2.单链表的建立2.1尾插法2.2前插法带头结点1.查找1.1按位查找 GetElem(L,i) L中第i个结点–O(n)在插入时写过,前面是找i-1个结点别人调用查找时,只需要判断返回值是不是NULL,当i=0时,找到头结点,return p=L,返回头结点i=8时 开始:j=0,p=L,不为空第一轮循环 p指向除原创 2020-08-09 20:30:37 · 226 阅读 · 0 评论 -
王道2-06 单链表的插入 删除
线性表的插入删除1.按位序插入1.1带头结点按位序插入: ListInsert(&L,i,e) 在第i个位置插入元素e;1.找到第2个结点,2.用malloc申请一个新的结点, 将第3个新结点7插入后面3.对指针进行修改,如果是有头结点,可以把头结点看成第0个结点,适用于上面三步时间复杂度: 插到头结点后面O(1)插到最后O(n)平均时间复杂度: O(n)typedef struct LNode{ ElemType data; //数据域 struct LNo原创 2020-08-07 16:17:41 · 475 阅读 · 1 评论 -
王道线性表2-05 定义和初始化单链表
代码1-42单链表的操作:初始化 长度 插入 找元素单链表链式存储; (顺序表顺序存储)顺序表有 静态分配 和 动态分配单链表 动态分配InitList()ListEmpty()ListLength()GetItem()ListInsert();ListTraverse()原创 2020-08-05 10:28:32 · 395 阅读 · 2 评论