算法分享
放牛娃学编程
分享就是快乐,每个人都应该学会分享,关注公众号:放牛娃学编程,一起放牛
展开
-
放牛娃谈堆排序---(为了说明白,我重新学习了如何说“人话”)
原创不易,如果你觉得对你有用,哪怕一点点也好,请留下一个赞再走,谢谢!!文章目录一、前期知识储备二、堆如何跟排序挂上钩的?三、分享交流一、前期知识储备堆排序是对于完全二叉树而言完全二叉树的那些事:定义:对于一个树高为h的二叉树,如果其第0层至第h-1层的节点都满。如果最下面一层节点不满,则所有的节点在左边的连续排列,空位都在右边。这样的二叉树就是一棵完全二叉树(不理解没关系,是我的错,不许喷我)性质:如果n个节点的完全二叉树的节点按照层次并按从左到右的顺序从0开始编号,对于每个节点都有:原创 2020-06-06 00:50:11 · 1971 阅读 · 3 评论 -
算法之----回溯算法(小白看不懂打我,以N皇后问题为案例,带你看回溯过程)
如果这篇文章能够让你更进一步了解回溯算法,哪怕一点点也行,希望留下个赞文章目录一、回溯算法的定义二、回溯算法的深入理解三、N皇后问题案例驱动讲解四、分享与交流一、回溯算法的定义百度定义:回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯...原创 2020-05-03 22:16:48 · 1484 阅读 · 0 评论 -
排序算法之---希尔排序(一看你就懂滴)
一、什么叫“希尔排序”希尔排序(Shell’s Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。重点度已经帮你们标黄啦啦,忘了什么叫插入排序咋搞? 没关系,点它直达 排序算法之—插入排序(看完不懂来打我呀呀)二、算法思想...原创 2020-02-12 00:39:48 · 495 阅读 · 1 评论 -
排序算法之---插入排序(看完不懂来打我呀呀)
一、插入排序还是那句话:不是常用的我不说,实用才是王道。算法基本思想:一个未排序的数组(也可以是链表)可以分为两个部分,前半部分是已经排序的,后半部分是未排序的。在进行未排序时,只需要在未排序的部分中选择一个元素,将其插入到前面有序的数组中即可(找到合适的位置插入)直到未排序的为0,则排序完成。二、直接上代码:(会的就不用看第三部分了)Java老大哥:package suanF...原创 2020-02-10 17:25:32 · 330 阅读 · 0 评论 -
两数的最大公约数你会求吗?(内附完整java、python代码)
两个数的最大公约数怎么求?思考题目的同时,我在这也顺便发出三个灵魂疑问?什么又是更相减损法?什么又是辗转相除法?什么又是欧几里得算法?不懂没关系,往下看要解决两数的最大公约数问题?,你首先要知道什么是两数的公约数解释:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。如果数a能被数b整除,a就叫做b的倍数,b就叫做a的约数。约数和倍数都表示...原创 2020-02-06 22:08:13 · 370 阅读 · 0 评论 -
“经典汉诺塔”问题----(内附Java、python实现代码)
经典汉诺塔问题是什么?废话不多逼逼,看题:相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C...原创 2020-01-31 21:50:24 · 2451 阅读 · 0 评论