![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Data Struct
CoolSuperman
点滴积累,成就不凡
展开
-
DS:链表(详解+实例)
文章目录链表分类单向不带头不循环链表定义初始化销毁增加数据删除数据打印查找修改双向带头循环链表定义初始化销毁增加数据删除数据打印查找修改链表的相关题目:链表逻辑上线性的,物理上不一定连续存储的存储单元;分类单向||双向带头||不带头带头当链表为空时头还在;相同长度带头比不带头少一个元素循环||不循环尾指向NULL为不循环;尾指向链表上元素;单向不带...原创 2019-03-11 11:58:18 · 722 阅读 · 0 评论 -
DS:顺序表实例
文章目录顺序表与链表顺序表静态顺序表(编译期间决定的)动态顺序表(运行期间决定的)初始化与销毁增加(插入)数据扩容删除数据查找数据修改数据缺点链表分类基本形式初始化销毁增加数据删除数据打印顺序表与链表顺序表逻辑上线性的,物理存储上地址连续的存储单元;静态顺序表(编译期间决定的)typedef struct SeqList{ int arry[100];//能存100个数的静...原创 2019-03-07 21:33:56 · 278 阅读 · 0 评论 -
DS:树-二叉树-二叉堆(详解+实例)
文章目录树定义(孩子兄弟表示法)二叉树存储结构链式表示法遍历方式深度优先遍历前序遍历(进来)中序遍历(中间)后序遍历(出去)广度优先遍历层序遍历(使用链表)求二叉树中所有节点的个数求二叉树叶子节点个数求第k层节点个数在二叉树中查找一个值(递推思路)判断二叉树是否是完全二叉树(层序遍历)二叉树前序|中序|后序非递归写法(自行用栈实现)tips:顺序实现法(二叉堆)调整二叉堆小堆调整定义&初始...原创 2019-03-17 20:41:34 · 539 阅读 · 0 评论 -
DS:经典单链表题目-判断相交与带环,环入口节点,环长度问题详解
文章目录判断链表相交判断链表是否带环(要求时间复杂度为O(1))求链表带环时环的入口节点求环长度判断链表相交编写一个程序,找到两个单链表相交的起始节点。如下面的链表:在节点 c1 开始相交。注意:如果两个链表没有交点,返回 null.在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。对,这里单链...原创 2019-03-12 23:10:27 · 189 阅读 · 0 评论 -
DS:栈&队列基本操作
文章目录栈定义(使用顺序表,最好使用双向链表)初始化压栈(尾插)出栈(尾删)返回栈顶元素判断是否为空获取栈长队列定义(使用单链表)初始化销毁队插入-链表尾插队删除-链表头删返回队尾元素判空栈像桶一样,后进先出LIFO(Last In First Out)可以实现顺序变更;作用:回溯定义(使用顺序表,最好使用双向链表)typedef struct Stack{ int arr...原创 2019-03-13 16:21:16 · 208 阅读 · 0 评论