算法
橘子在江南
保留心底的浪漫和独身的勇气
展开
-
No.3 快速排序
桶排序,浪费空间,冒泡排序,时间复杂度高,“快排”应该是一种比较好的排序算法,既省空间又降低了时间复杂度,它的时间复杂度是O(NlogN),但是在最坏的情况下它的时间复杂度和冒泡排序一样为O(N^2)。假设我们要给“8 2 3 5 1 6 4 10 9 7”这样一组数排序,利用“快排”。首先从这组数中选出一个数作为基准数,通常我们选择第一个数,然后我们需要将这个序列中所有比基准数大的数放在基准...原创 2019-05-01 20:42:23 · 267 阅读 · 0 评论 -
第一个算法----“假的”桶排序
第一个算法----“假的”桶排序坚持写算法第一天,先来一个桶排序,为什么叫“假的”桶排序,因为它是一个简化版的,真正的桶排序比这个复杂的多,第一天写算法,先来个简单点的(偷懒)!我们假设输入五个数,这五个数的范围在0到10,然后按从大到小的顺序输出!简单粗暴,直接上代码吧!#include<stdio.h> int main(){ int a[11],i,j,t;//假设我们...原创 2019-04-27 20:48:22 · 176 阅读 · 0 评论 -
No.2 冒泡排序
学习算法打卡第二天!今天记录一下学的“冒泡排序”,在写上一节“桶排序”的时候,就在想我要是要将小数排序怎么办,或者要是排序的数的范围在很大很大又怎么办?利用“桶排序”很浪费空间,浪费可耻!但是“冒泡排序”可以解决这些问题。比如我们要将5个数按从大到小的顺序进行排序,利用“冒泡排序”。首先将第一位和第二位进行比较,如果第一位比第二位小,就将它们交换,否则不交换,接着拿第二位和第三位进行比较,如果第...原创 2019-04-28 22:08:04 · 136 阅读 · 0 评论 -
队列之解密情报
队列:一种特殊的线性结构,队首删除,队尾插入,"先进先出"(FIFO)讲一个有趣的例子,有两个特工,正在发电报,一位特工向另外一位特工发了一串数字,为防止电报内容被监听,这些数字都经过了"加密",需要另外一位特工按照一定规则解密,规则是:记录下这一串"加密"的数字,首先把第一个数删除,然后把第二个数放在这一串"加密"的数字的末尾,接着删除第三个数,把第四个数放在这串数字的末尾............原创 2019-05-06 22:27:16 · 250 阅读 · 0 评论 -
纸牌游戏---栈和队列简单应用
栈和队列的简单应用---扑克游戏,游戏规则很简单,首先将一副扑克牌均分成两份给两个玩家(甲乙),让甲先出牌,然后让乙出牌,并把牌放在甲的打出的牌上方,两人交替出牌。出牌时,如果某个玩家打出的牌和桌上某张牌一样,就可以将这两张一样的牌及两张牌中间所夹得牌全部收走,并依次放在自己手中的牌的末尾。如果有一个玩家手中没有牌了,游戏结束,对方赢得游戏。假设只有12张牌,甲乙各6张牌,牌面只有数字1到9,...原创 2019-05-10 22:30:42 · 737 阅读 · 0 评论