数据结构与算法
ygpGoogle
这个作者很懒,什么都没留下…
展开
-
双链表及静态链表(c语言)
双链表 单链表结点中只有一个指向其后继的指针,这使得单链表只能从头结点依次顺序地向后遍历。若要访问某个结点的前驱结点(插入、删除操作时),只能从头开始遍历,访问后继结点的时间复杂度为O(1),访问前驱结点的时间复杂度为O(n)。 为了克服单链表的上述缺点,引入了双链表,双链表结点中有两个指针prior和next,分别指向其前驱结点和后继结点,如图2-8所示。 typedef struct Node { int data; struct Node *pNext; struct Nod原创 2020-08-30 08:16:49 · 244 阅读 · 0 评论 -
单链表的基本操作(C语言实现)
头结点、头指针 带头结点和不带头结点 优势1:第1个位置的插入删除更加方便 优势2:统一空表和非空表的处理 若使用头结点,无论表是否为空,头指针都指向头结点,也就是*LNode类型,对于空表和非空表的操作是一致的。 若不使用头结点,当表非空时,头指针指向第1个结点的地址,即*LNode类型,但是对于空表,头指针指向的是NULL,此时空表和非空表的操作是不一致的。 创建一个单链表 //下面是尾插法建立 //声明节点结构 typedef struct Link{ int elem;//存储整形元素原创 2020-08-27 17:46:05 · 681 阅读 · 2 评论 -
数据结构绪论及顺序表
绪论 比如我建了一张t_emp表,里面的每一条记录都是一个数据元素,而这张表我们就可以称之为数据对象。 原子类型就是int,char,float这种基本数据类型。 结构类型就是由多个原子类型组成的类型。 typedef struct t_emp{ int eid; char[20] ename; char[100] epassword; ......... }Emp; 求时间复杂度就是先设x次结束循环,然后找通式,然后反解出x。 线性表(顺序表) 线性表是逻辑结构,逻原创 2020-08-25 14:40:21 · 143 阅读 · 0 评论