是算法呦
程序员必备算法
特别声明,本专栏是在看了啊哈磊先生的《啊哈!算法》后对自己学习知识的一次回顾,如有侵权,请联系删除。
为光。
ᑋᵉᑊᑊᵒ ᵕ̈ ₂₀₂₀
展开
-
暴力美学----枚举的魅力
直接上示例,不多bb,自己体会。【例1】[ ] [ ] [ ]+[ ] [ ] [ ]=[ ] [ ] [ ],将数字1~9分别填入其中,每个数字只能使用一次并使得等式成立。请问一共有多少种合理的组合?//用a[1]~a[9]表示填入的九个数,用一个book数组来标记已经出现的数字#include<stdio.h>int main(){ int a[10],i,total...原创 2020-02-08 15:29:48 · 231 阅读 · 0 评论 -
栈、队列数组表示方式+链表和模拟链表(不含指针,超简单!)
一、队列【问题】请解密以下数字:6 3 1 7 5 8 9 2 4。解密规则为:首先将第一个数删除,紧接着将第二个数放到这串数的末尾,再将第三个数删除并将第四个数放到这串数的末尾,再将第五个数删除…直到剩下最后一个数,将最后一个数也删除。按照刚才的删除顺序,把这串数连在一起。【引入队列概念】百度百科解释队列:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,...原创 2019-12-29 15:43:35 · 271 阅读 · 0 评论 -
排序算法之最常用的排序----快速排序
我们假设对1~10这是个数进行排序,比如有以下序列:6 1 2 7 9 3 4 5 10 8。快速排序的思想是先在这些数中找到一个基准数。为了方便,我们就以第一个数6作为基准数,接下来,想办法将比6大的放在6的后面,比6小的放在6 的前面。方法是,我们先从右边开始找起,直到找到比6小的数,于是我们找到了5,这时我们再从左边开始找起,找比6大的数,我们找到了7,这时,我们将5和7进行交换位置。序列变...原创 2019-12-25 17:44:53 · 960 阅读 · 0 评论 -
排序算法之相邻之间分高低----冒泡排序
冒泡排序的基本思路是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。例如,我们需要12 43 54 64 23这几个数从大到小排序。那么小的数自然小排在后面。首先比较12和43,由于12比43小,则互换它们的位置,顺序变成43 12 54 64 23。按照刚才的做法,比较第二位和第三位,发现12比54小,则互换它们的位置,顺序变成43 54 12 64 23。以此类推,当一轮比较...原创 2019-12-23 16:52:56 · 771 阅读 · 0 评论 -
排序算法之最简单的排序----桶排序
【为什么要学排序?】在我们的生活中,方方面面都用到排序。你可以仔细想想身边的排序,站队的时候按身高排序,考试按成绩排序,商品按名称与用途排序,博客按发布时间排序······总之,生活中离不开这些排序,排序使我们的世界变得更加有规律,是人们的生活更加方便。+++++++++++++++++++++++++++++++++++假装分割线这次我们先一起学习一个简单快捷的排序算法----桶排序。其实...原创 2019-12-22 16:58:03 · 618 阅读 · 0 评论