摘要: 求三角形面积 阅读全文
posted @ 2022-03-16 17:32 吕辉 阅读(304) 评论(0) 推荐(0)
摘要: 将中序遍历的空间复杂度降为O(1) 阅读全文
posted @ 2022-03-03 16:29 吕辉 阅读(91) 评论(0) 推荐(0)
摘要: 求平方根 阅读全文
posted @ 2022-02-17 04:06 吕辉 阅读(50) 评论(0) 推荐(0)
摘要: 一、性能分析: 若有n条记录,记录最多含有a个关键字,每个关键字的基数取值范围为b个值,则: 1.平均时间复杂度 = O(a(n + b)) 2.空间复杂度:O(ab) 二、实现: 1 #define INDEX 10 //关键字基数,此时是十进制整数的基数 2 #define KEYNUM 2 / 阅读全文
posted @ 2022-02-13 03:22 吕辉 阅读(269) 评论(0) 推荐(0)
摘要: 1.时间复杂度:O(nlog2n) 2.空间复杂度:O(n) 3.实现: 1 void MergeSort(int* a, int n) { 2 int* b = (int*)calloc(n + 1, sizeof(int));//创建a的备份b 3 MSort(a, b, 1, n); 4 fr 阅读全文
posted @ 2022-02-12 03:29 吕辉 阅读(81) 评论(0) 推荐(0)
摘要: 一、简单选择排序(Simple Selection Sort) 1.时间复杂度:O(n2) 2.空间复杂度:O(1) 3.实现: 1 void SelectSort(int* a, int n) { 2 int i, j, min; 3 for (i = 1; i < n; i++) { 4 for 阅读全文
posted @ 2022-02-11 22:33 吕辉 阅读(65) 评论(0) 推荐(0)
摘要: 一、冒泡排序(Bubble Sort) 1.时间复杂度:O(n2) 2.空间复杂度:O(1) 1 void BubbleSort(int* a, int num) { 2 int i, j; 3 for (i = 1; i <= num - 1; ++i) { 4 for (j = 1; j <= 阅读全文
posted @ 2022-02-11 00:58 吕辉 阅读(83) 评论(0) 推荐(0)
摘要: 一、直接插入排序(Straight Insertion Sort) 1.时间复杂度:O(n2) 2.空间复杂度:O(1) 3.实现: 1 void InsertSort(int* a, int num) { 2 int i, j; 3 for (i = 2; i < num; i++) { 4 if 阅读全文
posted @ 2022-02-10 20:32 吕辉 阅读(52) 评论(0) 推荐(0)
摘要: 1.和次优查找树相对,二叉排序树是一种动态树表。 2.二叉排序树的结构通常不是一次生成的,而是在查找过程中,当树中不存在关键字等于给定值的结点时再进行插入。 3.含有n条记录的二叉查找树平均查找长度: 4.实现: 二叉排序树的查找 1 int SearchBST(BTree T, BTree* P, 阅读全文
posted @ 2022-02-07 14:31 吕辉 阅读(113) 评论(0) 推荐(0)
摘要: 一、顺序查找 1.若有等概率的n条记录,则查找成功时的平均查找长度: ASL = ( n + 1 ) / 2; 2.设置监视哨(把查找表下标为0的位置设置为待查找的关键字),目的在于免去每一步都要检测整个表是否查找完毕。 3.实现: 1 int SequentialSearch(SSTable T, 阅读全文
posted @ 2022-02-06 13:48 吕辉 阅读(130) 评论(0) 推荐(0)