初级算法
~^~^
这个作者很懒,什么都没留下…
展开
-
队列与栈
对于队列与栈这两种数据结构其实是有一些相似的地方,在理解上也是相似的。一、队列对于队列来说,他是遵循先进先出(即先进先服务)的一种策略进行的。可以将它看成是一个即将进站的火车,因为火车头在前所以他会先到站。对于队列来说它是一种线性的存储方式,它可以执行删除和添加操作,但是它的删除只能删除它前面的数即删除从火车头开始,但是添加却是从尾部开始,即在火车尾再增加火车如下图所示:图中的head表示的是数组的头部,即为火车头。而tail表示的是数组的尾部的下一个位置,即表示火车尾。每进行一次删原创 2020-07-16 11:26:32 · 134 阅读 · 0 评论 -
初级算法:冒泡排序
冒泡排序是一种比较常用的基础的排序算法,冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换 过来。 下列是以从大到小排列为例讲解。因为是按照从大到小排列所以越小的越靠后面该算法是通过循环嵌套实现的,首先外循环表示有n个数需要排序,因为是n个数所以只需要循环n-1次就可以了,外循环每循环一次就表示确定了一个数字的位置。而内循环则是从头开始将相邻的两个数进行比较,因为是按照从大到小的顺序排列所以两个数比较,小的数在后面,等到内循环一次执行完毕后表示该数字就是现在的位置就是它按照从大原创 2020-07-14 19:32:47 · 168 阅读 · 0 评论 -
初级算法:桶排序
桶排序指一种最基础的排序,虽然并不能算是最方便的排序但是要比一般的传统排序要快一点。桶排序中将一组数组视为一个一个的水桶,水桶表示输入的数据值是几,即数组的下标。而水桶里面放的数据则表示该数字出现了几次,即数组中存放的数据表示了改数组下标所表示的数字出现的次数。如下图所示含义:具体代码如下#include<stdio.h>int main(){ int book[1001],t,n; for(int i=0;i<=1000;i++)原创 2020-07-14 18:59:45 · 215 阅读 · 0 评论 -
初级算法:并查集
注意:学习并查集算法前需要有一定的递归思想的基础,如果要更好的理解并查集的话,在看该博客时可以在纸上进行验算。并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。常常在使用中以森林来表示。并查集的执行具体分为三步:初始化,查找,合并下面以查找有几个犯罪团伙为例进项算法思想解释:有n个强盗m条线索,问有多少个犯罪团伙,线索如下:一、初始化:因为最开始不知道强盗谁与谁是同伙,所以初始化他们的同伙是他们自己。在这里数组的下标表示是几号强盗,而数组里面的数表示它的首领是.原创 2020-07-13 12:43:20 · 165 阅读 · 0 评论 -
初级算法:河内之塔【汉诺塔】
河内之塔问题:有三根石柱分别为A,B,C,其中A上面有若干个圆环且圆环从上到下由小到大排列,B,C上面均没有圆环。将A上的圆环全部移动到C上面,且每次只能移动一个圆环,且圆环遵循小的在上大的在下的原则。问要移动几次才能将A上面的圆环全部移动到C上面。解释(递归类型的题):若A上面只有1个圆环则可直接移动到C上面,移动的次数为1,此时不需要B作为辅助柱。若A上的圆环为2时,此时需要B作为辅助柱A->B,A->C,B->C,移动的次数为3次。若A上面的圆环为3时,A->C,A-&原创 2020-07-08 11:23:10 · 298 阅读 · 0 评论 -
初级算法:快速排序
如果对快速排列不是很懂得话个人建议在看该博客时可以在纸上演算,这样更便于理解。在学快速排序前要先学会函数调用和递归。因为这是学习该算法的基础,特别是递归(个人建议学习递归时最好找一个简单一点的递归类型的题进行练习,并且在纸上将递归的每一步都写下来这样有助于对递归更好的理解)。快速排序所采用的思想是分治的思想。所谓分治,就是指以一个数为基准假设该数为A,将序列中的其他数往它两边“扔”。以从小到大排序为例,比它小的都“扔”到它的左边,比它大的都“扔”到它的右边,然后左右两边再分别重复这个操作,不停地分,原创 2020-07-09 17:35:12 · 259 阅读 · 3 评论 -
初级算法:堆排序算法
注意:个人建议在看堆排序时可以先看看什么是二叉树(如果没学过的话也不影响对堆排序的学习和了解)堆排序分为两种排列方式,一种是最大堆另一种是最小堆。堆排序的时间复杂度为O(nlogn)。这里首先要明确一点,这里的堆并不是指的内存上的堆,而是一种类似于二叉树的排列方式。就以最大堆(即按照从大到小的顺序输出)进行举例:原理:初始化时将一组无序的数,按照二叉树的方式排列,即按照一个父节点和左右字节点排列,此时的二叉树为无序的二叉树。首先从树的右下角进行查找,要求是父节点必须比它的左右...原创 2020-07-11 16:26:37 · 360 阅读 · 0 评论