![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法基础
文章平均质量分 77
暮雨灬倾晨
其实我的世界并不大,但这个里一定有个你!
展开
-
C++——算法基础之排序——选择排序
今天,大白来跟大家探讨一下选择排序。排序过程:(1),从无序区选择最小元素,放入有序区最末位,在无序区中删除该元素。(2),重复步骤(1),直至无序区元素个数为0.#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #i原创 2016-09-12 19:02:43 · 364 阅读 · 0 评论 -
C++——算法基础之排序——快速排序
今天,大白带大家探讨一下快速排序。排序过程:一趟快速排序采用从两头向中间扫描的办法,同时交换与基准(temp:取无序区的首位)记录逆序的记录。(1)设两个指示器 i 和 j ,它们的初值分别为无序区中的首和末。(2)令 j 自 t 起从右向左依次和基准比较,直至 arr[ j ] temp,将arr[ i ] 移至 j 所指的位置上。(3)依次重复步骤(2),直至 tem原创 2016-09-12 18:51:02 · 331 阅读 · 0 评论 -
C++——算法基础之排序——冒泡排序(优化)
今天,大白跟大家聊一聊冒泡排序的优化,我们都知道冒泡排序是几种稳定排序中比较快的一种排序了。但是,算法的优化永无止境,革命尚未成功,“同志”仍须努力(嘻嘻)。今天大白再看了教科书之后,并且融入了一些自己的想法,使得冒泡排序更加优化了。首先,我们来看一组图:bubbleSortText:bubbleSort:下面我们来看看代码实原创 2016-09-08 21:12:29 · 822 阅读 · 0 评论 -
C++——算法基础之排序——希尔排序(已修改)
这一节我们来聊一聊希尔排序!希尔排序:按 dk 把序列分成若干子序列,先排子序列,再随着 dk 的减小合并排列。教科书:希尔排序是插入排序的一种,其代码也难以理解;在要排序的序列中留下第 0 位用于临时储存元素。然后使 dk 按照某种方式逐渐减小直至为 1,完成排序。(以下发现仅供参考)本人:我更认为希尔排序是交换排序的一种,而且写出来的代码也易于理解,在要排序的序列中无需原创 2016-09-08 19:40:00 · 361 阅读 · 0 评论 -
C++——算法基础之最小生成树(Prim 和 Kruskal)
今天,大白跟大家分享一下最小生成树算法。最小生成树算法有两种:Prim算法 和 Kruskal算法Prim算法:以顶点为基础的向外扩张,从某一顶点(A)开始,依次寻找未知顶点中(未加入最小生成树的顶点)到已知顶点的最小权值的顶点。直到找到包含(A)的最大连通图中的所有顶点为止。(由此可见,从不同的顶点开始,获得的最小生成树也就不同,当把图中的每个顶点都建立最小生成树后,就获原创 2016-09-26 19:59:31 · 787 阅读 · 0 评论 -
C++——算法基础之动态查找表2——平衡二叉树(插入)
C++ 动态查找树 平衡二叉树原创 2016-09-07 19:32:18 · 1359 阅读 · 0 评论 -
C++——算法基础之动态查找表1——二叉排序树
C++,算法,二叉树原创 2016-09-06 15:57:28 · 962 阅读 · 0 评论 -
C++——算法基础之排序——二路归并排序
今天,大白跟大家说一说,二路归并排序二路归并排序:是一种比较快的排序方法。思想:将序列切半分开,然后对左右进行递归切半,直至最小单元序列内元素个数为1。然后依次将两个序列有序合并为一个序列,直至所有元素都在一个序列内。步骤:1,递归将序列分割。2,合并两个序列:利用等大小的临时储存空间,将两个序列从左到右依次比较,将较小的元素存入临时储存空间中。再将两个序列原创 2016-09-14 10:49:00 · 1920 阅读 · 0 评论 -
C++——算法基础之排序——堆排序
今天,大白跟大家玩玩堆排序。基本思想:堆排序是利用堆(大根堆或者小根堆)的特点进行排序。。。。啪啦啪啦一大堆。。。。(以建最小堆为例)简言之,就是将无序区看成一个完全二叉树,利用完全二叉树用数组存储是的特点,进行排序。建堆:从序列的末尾开始,先找出孩子中的较小值,然后和双亲比较,如果小于双亲,则交换位置。排序:进行 n - 1次建堆,每次建堆完成后(此时,序列首原创 2016-09-12 20:02:07 · 368 阅读 · 0 评论 -
最大连续子序列和/乘积
思路最大连续子序列乘积和最大连续子序列和不同,这里先回忆一下最大连续子序列和的最优解结构:最大连续子序列和我们用sum[i]来表示以arr[i]结尾的最大连续子序列和,则状态转移方程为:最大连续子序列乘积考虑存在负数的情况(ps:负负会得正),因此我们用两个辅助数组,max[i]和min[i],max[i]转载 2016-10-18 18:16:19 · 410 阅读 · 0 评论