C
文章平均质量分 92
丶Coolgiserz
这个作者很懒,什么都没留下…
展开
-
C++单向加双向循环链表实现约瑟夫问题
数据结构课堂老师布置了一道题目,就是传说中大名鼎鼎的约瑟夫问题,在此描述一遍:有n个囚犯站成一个圆圈,准备处决。首先从一个人开始,越过k−2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k−1个人,并杀掉第k个人。这个过程沿着圆圈一直进行,直到最终只剩下一个人留下,这个人就可以继续活着。问题是,给定了n和k,一开始要站在什么地方才能避免被处决?--(来自维基大典) ...原创 2018-03-12 20:32:21 · 1271 阅读 · 0 评论 -
二叉树的建立、递归、以及一些运算
/** * 功能:输入二叉树的中序、前序序列可以建立二叉树 * 输出某一结点的左右孩子结点的值 * 输出二叉树的深度 * 输出二叉树的结点个数 * 输出二叉树的叶子结点个数 * 用递归算法和非递归算法实现二叉树的先序遍历、中序遍历和后序遍历 * 输出层次遍历的结果 * 将一棵二叉树的左右子树互换 * **///// Created by zhuge on 2018/4/30....原创 2018-05-01 10:38:33 · 263 阅读 · 0 评论 -
数据结构排序算法总结
直接插入排序直接插入排序的思想是,一开始将整个数据表看成是由一个仅有一个元素的有序表和含有n-1个元素的无序表组成,每次从无序表中选一个元素插入到有序表中的合适位置,一般情况下取原数组第一位元素作为初始的有序表。插入操作的具体做法是,在向有序表某个位置添加元素时,该位置及之后的元素先后移空出一个位置,而后将待插元素放到那个位置去。void insert_sort(int *R,int n){ ...原创 2018-06-16 16:42:16 · 317 阅读 · 0 评论