算法题
浮而不实
这个作者很懒,什么都没留下…
展开
-
PTA排序易错题
仅基于比较的算法能得到的最好的“最坏时间复杂度”是O(NlogN)。A.对B.错原因:常见的最坏的时间复杂度如下第四列,最优是O(NlogN)。对N个记录进行归并排序,归并趟数的数量级是O(NlogN)。A.对B.错原因:归并趟数为log2n对N个记录进行简单选择排序,比较次数和移动次数分别为O(N2)和O(N)A.对B.错原因:简单排序遍历并比较最大的(或最小的)仅仅交换头部与最大或最小的位置,因此比较次数和移动次数分别为O(N2)和O(N)对N个记录进行快速排序,在最坏的情原创 2021-06-13 16:45:15 · 13143 阅读 · 0 评论 -
选择排序(SelectSort)
选择排序的核心就是在遍历数组元素,将最大或者最小放在数组开头,然后依次选择最大最小直到数组选择完成例子:这个网站所有排序都动态排序https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html选择排序基础概念b站王道https://www.bilibili.com/video/BV1b7411N798?p=82c++代码示例如下#include "iostream"#define MAXSIZE 21using原创 2021-06-12 17:06:50 · 176 阅读 · 0 评论 -
插入排序(InsertSort)
插入排序核心就是在遍历整个数组中,在头部从头往后进行比较,如果比较大小成功,不变顺序,如果比较大小是你要的排序,再遍历前面已经排序过的数组,从尾部开始,再次比较大小,比较不符合,数组内容往后顺推,直到遍历比较发现符合排序顺序,或者到数组头部,就停止遍历,再接着上层遍历。例子:这个网站所有排序都动态排序https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.htmlB站王道插入排序基本概念https://www.bilibil原创 2021-06-12 16:41:39 · 463 阅读 · 0 评论 -
快速排序(QuickSort)
直接看例子吧这个网站所有排序都动态排序https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html如果概念不理解 b站王道https://www.bilibili.com/video/BV1b7411N798?p=81c++代码#include "iostream"#define MAXSIZE 21using namespace std;struct SqList{ int data[MAXSI原创 2021-06-12 15:10:14 · 82 阅读 · 0 评论 -
冒泡算法(BubbleSort)
冒泡算法核心就是遍历数组,从头或者尾部开始比较大小,从头部比较的话(升序)将大的换到右边,从头开始,遍历一次就是将数据最大的放在最后边,然后第二遍遍历就是将第二大放在右边第二的位置。遍历结束是完整遍历没有交换。例子如图:2 3 5 1 6 4 初始数组2 3 1 5 4 6 第一次遍历结束。 最大的6在最后边2 1 3 4 5 6 第二次遍历结束。 第二大5在右边1 2 3 4 5 6 第三次遍历结束。 发现已经遍历完成1 2 3 4 5 6 第四次遍历结束。 这次原创 2021-06-12 13:17:21 · 1944 阅读 · 0 评论 -
PTA算法 图练习题改错
一个有向图的邻接表和逆邻接表中结点的个数可能不等。T OR F答案: 错误原因:有向图邻接表出度必定有入度 定点必然守恒 ,定点数一定相等有n-1条边的图肯定都是生成树。T OR F答案:错误原因:非连通图无法构成树无向图的邻接矩阵可用一维数组存储。T OR F答案:正确原因: 二维数组可转化为一维数组...原创 2021-05-22 13:15:46 · 3087 阅读 · 1 评论