数据结构与算法
臧初之
有时候,总想记录点什么东西
展开
-
[C++]A和B是两个字符串,用最少的字符操作将A转换为B,操作包括:删除1个字符、插入1个字符、替换1个字符。(使用动态规划)
关于题目的具体介绍: A和B是两个字符串,用最少的字符操作将A转换为B,操作包括: 删除1个字符、 插入1个字符、 替换1个字符。 可参考: 【动态规划】最小编辑距离(字符串A到字符串B变化最少要多少步)】 https://blog.csdn.net/ma2413419/article/details/82693319/?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242 其相关C++编程,转载 2020-12-08 20:59:46 · 3871 阅读 · 1 评论 -
[数据结构与算法]使用分治法处理大整数相乘的算法过程(2种算法)
大整数乘法( Introduction: Multiplying large integers ) 两个n位正整数相乘,这两个数很大,大到计算机内部无法表示。 计算大整数相乘,需要用到分治算法,将大整数化为小整数,再求解。 方法 1.使用数组存储大乘数 [https://blog.csdn.net/ydx115600497/article/details/53172815](https://blog.csdn.net/ydx115600497/article/details/53172815)转载 2020-11-06 21:39:51 · 840 阅读 · 0 评论 -
[C++]练习:使用模版进行插入排序
对上一篇博客进行拆分、修改 #include "iostream" using namespace std; //使用插入排序进行内部排序,测试 template<class T> void test(T arr[], int Length){ //先写出插入排序算法,再将其改为希尔排序,将所有1的地方改为gap for (int i = 1; i < Length; i++) { T val = arr[i];//记录值 int j = i;//记录下标 while原创 2020-10-25 20:30:47 · 147 阅读 · 0 评论 -
[C++]练习:使用模版进行快速排序,并改进(递归、非递归、近乎有序时、三个数取中值)
对上一篇博客进行拆分,修改 #include "iostream" #include<stack> using namespace std; //快速排序 template <class T> int QuickSort(T arr[], int begin, int end){ if (begin < end){ T temp = arr[begin]; //int i = begin; //int j = end; while (begin <原创 2020-10-25 20:23:29 · 163 阅读 · 0 评论 -
[C++]练习:使用模版进行希尔排序(2种方法(内部为冒泡排序、插入排序))
上一篇博客写得有点乱,将其改改 #include "iostream" using namespace std; //内部使用冒泡排序,进行希尔排序 template<class T> void ShellBubbleSort(T a[], int Length){ for (int gap = Length / 2; gap > 0; gap /= 2){ for (int i = 0; i < Length - 1; i += gap){ for (int j =原创 2020-10-25 20:14:54 · 109 阅读 · 0 评论 -
[数据结构与算法]4种算法设计与改进(冒泡排序,快速排序(递归、非递归、近乎有序时改进、三点取中间值),插入排序、希尔排序)
#include "iostream" #include<stack> using namespace std; //内部使用冒泡排序,进行希尔排序 template<class T> void ShellBubbleSort(T a[], int Length){ for (int gap = Length / 2; gap > 0; gap/=2){ for (int i = 0; i < Length - 1; i += gap){ for (int原创 2020-10-25 19:57:53 · 178 阅读 · 0 评论 -
[C++]练习:使用模版进行冒泡排序
#include "iostream" using namespace std; //冒泡排序,外层遍历n-1次,内层每次对n-i-1个数进行比较 template<class T> void BubbleSort(T arr[],int Length){ for (int i = 0; i < Length - 1; i++) { for (int j = 0; j < Length - i - 1; j++) { if (arr[j]>arr原创 2020-10-24 12:23:16 · 129 阅读 · 0 评论