摘要:
在数据结构的学习中,排序是我们要重点学习的一部分;在掌握几种经典排序算法的同时,我们还要能够根据实际中遇到的情况,结合它们的时间复杂度、空间复杂度、稳定性这几个方面选择最合适的算法。现针对常用的几种经典排序算法及易出错的地方总结如下: 1.插入排序 (1)直接插入排序 直接插入排序是一种最简单的排序 阅读全文
摘要:
我们大家在小时候可能都玩过 “找路线”、“逃出迷宫” 这样的小游戏。通常的玩法一般是一开始顺着入口往后面走,遇到岔路口,就选择其中一条路往后走,走到此路无路可走的时候 ,就再退回到岔路口,然后再去选另外的一条路走,每次走到此条路不通时就返回到上一个岔路口另选一条路走 ......经历这般 “摸爬滚打 阅读全文
摘要:
上篇小结了一下 关于二叉树的基本内容,这里再作两点补充 :二叉树销毁 和 镜像二叉树 <1> 二叉树销毁 在进行销毁时注意两点: ①使用后序遍历的思路进行销毁 ②由于最后二叉树销毁后,需要将最初指向树根结点的指针置空,故函数传参需要传二级指针 <2>镜像二叉树 顾名思义其就是原二叉树的镜像对称二叉树 阅读全文
摘要:
二叉树是我们在学习数据结构过程中的重难点,这里对其内容稍作总结,巩固自己知识的同时,也希望可以帮助到正在学习此部分内容的同学。废话不多讲,先来做好准备工作,创建好一个二叉树,实现它的一些基本操作。 二叉树的创建以及普通操作 考察二叉树属性的相关操作 二叉树的层次遍历 思路:借助队列来实现,先把二叉树 阅读全文
摘要:
当前学习数据结构内容,由于后面常常需要用到栈和队列,为方便后面学习,在此做个记录。 if(s->_top == s->_end) { size_t capacity = s->_end > 0? s->_end*2 : 4; DataType* p = (DataType*)realloc(s->_ 阅读全文
摘要:
贪吃蛇实现基本的移动、吃掉食物、加速、暂停、显示游戏分数等基本功能。 代码如下: 阅读全文
摘要:
1.判断单链表是否带环?若带环,求环的长度?求环的入口点?并计算每个算法的时间复杂度&空间复杂度 思路:还是通过快慢指针来解决,让fast指针每次走2个结点,慢指针一次走一个结点 时间复杂度为O(n) 空间复杂度O(1 ) 注意:fast每次走3个 4个.. 结点是不行的。分析如下: 考虑清楚后,便 阅读全文
摘要:
1.从尾到头打印单链表 2.删除一个无头单链表的非尾节点(不能遍历链表) 3.在无头单链表的一个结点前插入一个结点(不能遍历链表) 4.单链表实现约瑟夫环(JosephCircle) 约瑟夫环问题是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为m的人开始报 阅读全文