数据结构
文章平均质量分 80
链表、栈、队列、树、图、查找、排序
tsunaa
这个作者很懒,什么都没留下…
展开
-
【数据结构】二叉树的先序、中序、后序遍历(递归做法)
【PTA】树与二叉树练习题01-二叉树的遍历原创 2020-11-30 17:22:06 · 816 阅读 · 0 评论 -
【数据结构】利用先序扩展序列建立二叉树
利用先序扩展序列建立二叉树题目先序扩展序列是指用特定的字符表示空子树。这里用‘#’表示二叉树为空。现给出一个字符串为二叉树的线序扩展序列,要求建立一棵二叉树。思路定义二叉树初始化二叉树定义二叉树C定义二叉树typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};原创 2020-11-30 18:03:26 · 5474 阅读 · 0 评论 -
【数据结构】单链表比第一个元素大的放在前面,其他放在后面
【数据结构】单链表比第一个元素大的放在前面,其他放在后面题目一单链表,以第一个元素为基准,将小于该元素的结点全部放到前面,大于该结点的元素全部放到后面。时间复杂度要求为O(n),不能申请新空间。分析将所有小于第一个元素m的元素移到m前面去,则遍历单链表,比m小的用头插法放到L后面。其他则不做改动解题思路有几个函数?1. 初始化链表2. 创建单链表3. 输出单链表4. 改变单链表(本次程序的关键)改变单链表函数怎么写?重复一下,改变单链表函数的功能是:遍历单链表,比第一原创 2020-11-02 11:47:17 · 2013 阅读 · 2 评论 -
【数据结构】 合并两个非递减有序单链表为一个A-B的非递减有序单链表
【数据结构】 合并两个非递减有序单链表为一个A-B的非递减有序单链表题目实现两个单链表La和Lb的相减链表LC,LC的元素为LA中有但LB中没有的元素。LA和LB都为非递减有序链表分析LC是LA和LA的相减链表,即LC= LA-LB,即LC里的元素是在LA的基础减去LB里也有的元素。比如LA的元素为1,3,5,7,9,LB的元素为2,4,5,7,9,那么LC的元素为1,3 。解题思路再重复一下我们的分析: LC是LA和LA的相减链表,即LC里的元素是在LA的基础减去LB里也有的元素。原创 2020-11-02 11:47:31 · 2631 阅读 · 1 评论 -
【数据结构】C/C++实现二叉树的层序遍历
【数据结构】二叉树的层序遍历题目给你一棵树,要求按照层序遍历的顺序打印结点。思路层序遍历的意思是一层一层地遍历树,即BFS。BFS用队列来维护。先将根节点放进队列中。每次从队列中取出一个结点,访问它。遍历它的孩子结点,并把它们放进队列中。直至队列为空。举个例子:刚开始将根节点放进队列中,此时队列为【A】。从队列中取出一个元素,为A。输出A。遍历A的所有孩子,将B、C放入队列中。此时队列为【B、C】。从队列中取出一个元素,为B。输出B。遍历B的所有孩子,将D、F放入队列原创 2020-11-30 17:04:35 · 530 阅读 · 0 评论 -
【数据结构】两个有序链表序列的合并
【数据结构】两个有序链表序列的合并题目已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10思路类数组中原创 2021-03-19 17:19:10 · 5667 阅读 · 5 评论