![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计
imissrc
你好!
展开
-
算法设计与分析(第二篇)(递归):输入数字字符串,按字典序返回数字所有可能表示的字符串(和电话号码一样)
给定一个数字字符串,按字典序返回数字所有可能表示的字符串。特殊符号不用考虑输入一行,一个数字字符串(保证长度小于1010且不包含0和1)输入字符在 '2' 到 '9' 之间。输出按字典序输出所有可能的字符串,每种结果一行,最后需要换行输入样例23输出样例ad ae af bd be bf cd ce cf#include<stdio.h> void code(int data[],ch...原创 2018-04-29 17:00:38 · 387 阅读 · 0 评论 -
算法设计与分析(第一篇)(分治与递归)(二分查找)在n+logn-2次比较中找出a[n]的最大元素与次大元素
在n+logn-2次比较中找出a[n]的最大元素与次大元素● 算法思想1)采用分治法将数组A[0:n]分成两部分,A[0:n/2-1]和A[n/2:n-1]2) 对从i=0到n/2-1 A[i]>A[i+n/2] 将A[i]和A[i+n/2]交换3) 数组A[n/2:n-1]的大小>2, 则递归地进行分治法求出最大值和次最大值。数组A[n/2:n-1]的大小<=2,则...转载 2018-04-29 16:48:13 · 2376 阅读 · 2 评论 -
算法设计与分析(第三篇)(分治与递归)(二分查找)两个有序数组找其中位数
两个有序数组找其中位数#include<iostream> using namespace std; #define d 10 float median(int x[],int y[],int xleft,int xright,int yleft,int yright) { if(xleft==xright) { return (float)(x[xleft]+y[yleft]...转载 2018-04-29 18:46:51 · 351 阅读 · 0 评论 -
算法设计与分析(第五篇)(分治与递归)归并排序C++
#include<iostream> #include<vector> using namespace std; void Merge(vector<int>& array, int l, int r, int mid, vector<int>& result); void MergeSort(vector<int>&...原创 2019-03-12 16:26:24 · 506 阅读 · 0 评论 -
算法设计与分析(第六篇)(递归)快速排序C++
#include<iostream> #include<vector> using namespace std; void QuickSort(vector<int> & array, int l, int r) { int x; int i=l,j=r; if(l>=r) return; x=ar...原创 2019-03-12 16:31:59 · 356 阅读 · 0 评论 -
算法设计与分析(第七篇)简单选择排序
#include<iostream> using namespace std; #define JD int //排序过程:首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换 //再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录交换 //重复上述操作,共进行n-1趟排序后,排序结束 void sim_selesort(...原创 2019-09-13 13:08:45 · 391 阅读 · 0 评论