最短对问题: 在一个拥有n个点的空间中,求其中欧几里得距离最小的点对。 解析 原理理解的参考视频:https://www.bilibili.com/video/BV1Y7411w71e?from=search&seid=14190590970009131408 1:点的数量较少的情况可以直接用蛮力算 ...
分类:
其他好文 时间:
2020-03-24 23:18:35
阅读次数:
72
快速排序的描述 与归并排序一样,快速排序也使用了分治思想。具体步骤: 分解:数组 A[p...r] 被划分为两个子数组(可能为空) A[p...q-1] 和 A[q+1...r] ,使得 A[p...q-1] 中的每一个元素都小于等于 A[q],而 A[q] 小于等于 A[q+1...r] 中的每个 ...
分类:
编程语言 时间:
2020-03-19 23:18:38
阅读次数:
112
1 //64个盘子 2 //划分成小问题:1.将上面的63个盘子从x借助z移动到y上 3 2.将第64个盘子从x移动到z上 4 3.将y上的63个盘子借助x移动到z上 5 详解:https://www.bilibili.com/video/av81085437 6 #include<stdio.h> ...
分类:
其他好文 时间:
2020-03-14 13:14:24
阅读次数:
67
1 //n的阶乘 2 #include<stdio.h> 3 4 int fun(int n); 5 int main(void) 6 { 7 int n; 8 scanf("%d",&n); 9 10 printf("%d",fun(n)); 11 return 0; 12 } 13 int fu ...
分类:
其他好文 时间:
2020-03-14 12:42:09
阅读次数:
51
1 //分治思想:将大问题拆成小问题逐一解决 2 //折半查找法:不断缩小一半查找的范围,知道达到目的,效率较高。 详情见:https://fishc.com.cn/thread-27964-1-1.html 3 4 //折半查找法(迭代) 5 #include<stdio.h> 6 7 int s ...
分类:
其他好文 时间:
2020-03-14 12:37:54
阅读次数:
36
1 做法:第一步随便放一个棋子,然后找安全位置放第二个棋子,然后放好后再找安全地放第三个x棋子,以此类推 2 详细解释:https://www.bilibili.com/video/av76265320?from=search&seid=10595269197283770223 3 #include ...
分类:
编程语言 时间:
2020-03-14 12:35:24
阅读次数:
64
1 //递归 2 #include<stdio.h> 3 4 int Fib(int i); 5 int main(void) 6 { 7 int i = 40; 8 9 for(int i=0; i<40; i++) 10 { 11 printf("%d ",Fib(i)); 12 } 13 re ...
分类:
其他好文 时间:
2020-03-14 12:31:01
阅读次数:
55
算法思想 快速排序是基于冒泡排序的改进,是基于分治思想。 在待排序表L[1...n]中选取一个元素(base)作为基准,一次排序后将排序表划分两个部分L[1...k-1]和L[k+1...n],其中L[1...k-1]中的元素小于base,L[k+1...n]中的元素大于base,然后将base放到 ...
分类:
编程语言 时间:
2020-03-12 09:56:00
阅读次数:
61
十大排序算法分类、特点和关系 (1)冒泡排序(交换排序的一种) (2)选择排序 (3)插入排序 (4)归并排序(采用了分治思想,额外的空间复杂度O(N),容易记错,最后合并大数组的时候需要开辟一个长度为N的数组) https://blog.csdn.net/u010452388/article/de ...
分类:
编程语言 时间:
2020-03-02 01:05:29
阅读次数:
83
1、递归:(归去来兮) 递归效率较低,如果明确知道迭代次数,则能用迭代最好用迭代,递归是函数自己调用自身,每次调用都需要入栈等操作。但是递归操作要比迭代简单和清楚。 2、斐波那契数列的递归实现 #include <stdio.h> int Fib(int i); int main() { int i ...
分类:
其他好文 时间:
2020-02-29 00:27:45
阅读次数:
72