#对称加密算法

如何用Go语言实现汉诺塔算法

packagemainimport("fmt")funcprint(nint,xrune,yrune)(){fmt.Printf("movingdisk%dfrompole%ctopole%c",n,x,y)}funcmove(nint,arune,brune,crune)(){ifn==1{print(n,a,c)}...

计算机科学中最重要的32个算法

http://www.infoq.com/cn/news/2012/08/32-most-important-algorithms?utm_source=infoq&utm_medium=popular_links_homepagehttp://www.risc.jku.at/people/ckoutsch/s...

水仙花算法

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 /*打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的...
IT猿 ·2020-03-27

基础算法-兔子繁殖

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?升级版(输入一个兔子的数量,问最少多少个月可以达到?)程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....也就是说当月兔子的数量=上月个兔子的数量+当月出生量(即...

水平集与图割算法浅析

LeveSet水平集方法主要的思想是利用三维(高维)曲面的演化来表示二维曲线的演化过程。在计算机视觉领域,利用水平集方法可以实现很好的图像分割效果。1.数学原理根据维基百科的定义,在数学上一个包含n个变量的实值函数其水平集可以表示为下面的公式:Lc(f)=(x1,x2,...,xn)∣f(x1,x2,...,xn)=c...

数据结构——排序算法总结

  排序(Sorting)就是将一组对象依照规定的次序又一次排列的过程,排序往往是为检索而服务的。它是数据处理中一种非常重要也非经常常使用的运算。比如我们日常学习中的查字典或者书籍的文件夹。这些都事先为我们排好序,因此大大减少了我们的检索时间,提高工作效率。  排序可分为两大类:...

[算法天天练]堆排序

#include<iostream>#include<algorithm>usingnamespacestd;voidHeapAdjust(int*a,inti,intsize)//调整堆{intlchild=2*i;//i的左孩子节点序号intrchild=2*i+1;//i的右孩子节点序号i...
IT猿 ·2020-03-27

[转][算法天天练]堆与堆排序

堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最...
IT猿 ·2020-03-27

[算法天天练]选择排序法

#include<stdio.h>voidshow(intarr[],intlength){for(inti=0;i<length;i++){printf("%d",arr[i]);}printf("");}void_swap(int*a,int*b){inttmp=*a;*a=*b;*b=tmp;}...

[算法天天练]插入排序算法

#include<stdio.h>voidshow(intarr[],intlength){for(inti=0;i<length;i++){printf("%d",arr[i]);}printf("");}voids_insert(intarr[],intlength){if(length<0...

[算法天天练] 归并排序

要实现归并排序递归方法:第一步:先将原来的数据表分成排好序的子表,然后调用合并函数对子表进行归并,使之成为有序表例如有如下向量:⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾25,10,7,19,3,48,12,17,56,30,21/25,10,7,19,348,12,17,56,30,21//25,107,19,348,12,1756,3...

[算法天天练]快速排序

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,作为面试题来考试。该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。以一个数组作为示例,取区间第一个...

【转帖】常见的排序算法

 总结一下常见的排序算法。 排序分内排序和外排序。内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序期间全部对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外存之间移动的排序。内排序的方法有许多种,按所用策略不同,可归纳为五类:插入排序、选择排序、交换排序、归并排...

[算法天天练]冒泡排序

/**冒泡排序*核心原来:每次比较两个相邻的元素,如果它们的顺序不符合要求就把它们交换*每趟只能确定一个数归位*冒泡算法的时间复杂度为O(N*N),除了名字有点儿意思外,确实效率不高*/voidBubbleSort(intarray[],intlength){  inttmp;  for(i=0;i<length...

[算法天天练]桶排序

【问题】:如果有一组数据a[]={0,9,2,3,4,5,3,5,2,8},对它进行从小到大的顺序排列 #include<stdio.h>voidBucketSort(){inti,j;inta[]={0,9,2,3,4,5,3,5,2,8};intb[10]={0};intiaSize=size...
IT猿 ·2020-03-27
首页上一页...129130131132133...下一页尾页