刷题
数据结构与算法、leetcode
tensor.shape
这个作者很懒,什么都没留下…
展开
-
归并排序算法
理论 #include<iostream> #include<vector> #include<algorithm> using namespace std; //相邻两个有序子序列的合并 //所以每一次都是两个合并,所以要递归很多轮,可以调试看看,然后结合原理,你就懂了代码 void Merge(vector<int>& v, int left,int right,int mid) {//将t[left,mid]和t[mid+1,right]归并形原创 2021-07-23 19:58:01 · 54 阅读 · 0 评论 -
选择排序算法
1.简单选择排序 【算法步骤】 ①将第一个作为最小值,并将下标赋值给k ②在后面找出比它小的值,赋为最小值,并将下标赋值给k,一直到列表结束,然后交换。 ③重复①② #include<iostream> #include<vector> #include<algorithm> using namespace std; void SelectSort(vector<int>& v) { int i , j; for (i = 0; i < v.原创 2021-07-22 20:27:37 · 61 阅读 · 0 评论 -
交换排序欧
1.1 冒泡排序 【算法步骤】 ①趟数,n个数需要比较n-1趟 ②每趟比较的次数,m趟比较n-m次 ③比较过程中,发现前比后大,交换。 提高效率:某一趟没有出现交换记录,说明已经排好序了,就不再比较排序,结束算法了。 解决:就是用个flag表示一趟是否有交换,发生交换置为1,没有交换置为0 1.2 快速排序 ...原创 2021-07-19 20:04:12 · 46 阅读 · 0 评论 -
排序算法梳理
1.排序算法 (1)插入排序:直接插入排序、折半插入排序、希尔排序 (2)交换排序:冒泡排序、快速排序 (3)选择排序:简单选择排序、堆排序 (4)归并排序:2-路归并排序 (5)基数排序 2.插入排序 每一趟将一个待排序的记录, 按其关键字的大小插入到已经排好序的一组记录的适当位置上,直到所有待排序记录全部插入为止 2.1直接插入排序 【算法步骤】 ①哨兵:将待排序的数字记录为i,将其赋值给哨兵temp。 ②比较后移:取整型变量j,从j=i-1的位置开始与temp比较,找到比v[i]小的数。 ③插入:将j原创 2021-07-16 17:02:57 · 56 阅读 · 0 评论