博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019.4.27
阅读量:4878 次
发布时间:2019-06-11

本文共 1181 字,大约阅读时间需要 3 分钟。

1.数组中,元素的位置称为索引

2.递归,调用栈。

发现还是不会写hanoi。。:

1 #include
2 using namespace std; 3 void hanoi(int n,char a,char b,char c){ 4 if(n==1) cout<
<<":"<
<<"-->"<
<
"<
<
>n;15 hanoi(n,'a','b','c');16 17 }
hanoi

3.分治:

▲步骤:1)找出基线条件(尽可能简单)

               2)不断将问题分解(缩小规模),直至符合基线条件。

▲证明欧几里得算法(辗转相除法):

https://zh.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/the-euclidean-algorithm

【   

        To prove that GCD(A,B)=GCD(B,R) we first neec GCD(A,B)=GCD(B,A-B).

        Proof that the GCD(A,B) evenly dividesC .

        Proof that the GCD(B,C) evenly dividesA

        GCD(A,B)=GCD(B,A-B) 

        GCD(A,B)=GCD(A-B,B)=GCD(A-2B,B)

        GCD(A,B)=GCD(B,R)

  

▲排序(以下都按从小到大):

1)冒泡排序:从左到右,数组中相邻的两个元素进行比较,将较大的放到后面。 // O(n^2)

2)选择排序:从左到右,一个元素与他下面所有元素比较,找出最小的,和那个元素互换,开始下一轮。  // O(n^2)

3)快排:找基准数,左右两边放小于等于和大于,再递归。

1 #include
2 using namespace std; 3 void quicksort(vector
&num,int l,int r) 4 { 5 6 if(l>= r) return; 7 int i=l,j=r,x=num[l]; 8 while(i
=x)10 j--;11 if(i
num(f,f+len);29 for(int k=0;k
快排--填坑法

 

转载于:https://www.cnblogs.com/XXrll/p/10779021.html

你可能感兴趣的文章
php开启openssl的方法,openssl安装
查看>>
集合类转化成数组
查看>>
什么是Java 虚拟机?为什么Java 被称作是"平台无关的编程语言"?
查看>>
better-scroll和swiper使用中的坑
查看>>
css之字体的引用
查看>>
oo第一单元博客
查看>>
实验报告三
查看>>
基础搜索
查看>>
vs2008 C# 怎么调试C++ dll[转]
查看>>
PHP的魔术方法
查看>>
警惕麦咖啡的"缓冲区溢出保护"引起的ASP.NET 中 System.OutOfMemoryException 的错误...
查看>>
optimizer_dynamic_sampling
查看>>
HTML(WEB)开发day05
查看>>
5月16日(优化链串BF算法、
查看>>
php学习
查看>>
第四节 选择结构和循环结构
查看>>
新的Android应用 记账理财助手 登陆国内各大市场啦。
查看>>
【转】c++中placement new操作符
查看>>
收缩日志
查看>>
tmux
查看>>