数据结构和算法
a_struggling_monkey
Do more
展开
-
关于约瑟夫环的几种求解问题
问题描述:0,1,2......,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里最后剩下的数字。 例如:0,1,2,3,4这5个数字组成一个圆圈,从数字0开始每次删除第三个数字,则删除的前四个数字依次是2,0,4,1,因此最后剩下的数字是3. 解法一: 由题目中的圆圈和删除,可以很自然的想到用环形链表的删除节点解决问题。可以创建...原创 2018-11-14 12:59:52 · 183 阅读 · 0 评论 -
排序算法——交换排序(快排*)和归并排序
上篇文章介绍了插入排序和选择排序,详见https://mp.csdn.net/postedit/97524495 3交换排序 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记 录向序列的尾部移动,键值较小的记录向序列的前部移动。交换排序分为冒泡排序和快速排序。 3.1冒泡排序 3.1.1基本方法 ①比较相邻的元素...原创 2019-07-29 13:44:05 · 576 阅读 · 0 评论 -
排序算法——插入排序和选择排序(堆排*)
●前言:生活中很多地方都需要排序,比如我们网上购物的时候总会希望价格、综合评价、距离等由低到高显示,这就要排序。 相关概念 1>排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 2>稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次 序保持不变,即在 原序列中,r[i]=r[j],且r[i...原创 2019-07-27 17:28:23 · 540 阅读 · 0 评论