摘要: 一、回文判断,用上节中的struct queue更方便一点,本节用stack作为入点 栈stack的一个难点是:指针top指向的是栈顶元素,还是空闲位置? 比如书中写法:top=0; top++; s[top] = x; -> 初始化起点为0,第一个写入元素位置为top=1; -> 这里top指针指 阅读全文
posted @ 2021-07-07 15:25 雅丽梅 阅读(66) 评论(0) 推荐(0)
摘要: 一、解密一个队列:“6 3 1 7 5 8 9 2 4” 首先将第1 个数删除,紧接着将第2 个数放到这串数的末尾,再将第3 个数删除并将第4 个数放到这串数的末尾,再将第5 个数删除……直到剩下最后一个数,将最后一个数也删除。按照刚才删除的顺序,把这些删除的数连在一起就是结果 注意: 1.这里的删 阅读全文
posted @ 2021-07-07 10:57 雅丽梅 阅读(96) 评论(0) 推荐(0)
摘要: 一、时间复杂度: 1.毫无疑问,桶排序是最快的,时间复杂度为 O(N+M),N=初始化列表长度,M=输入队列的长度 2.冒泡排序是最慢的,时间复杂度 O(N*(N-1)/2) ~~ O(N**2) 3.快速排序是对冒泡排序的一种改进,时间复杂度为 O(NlogN) 比如说,当今计算机的计算能力达到每 阅读全文
posted @ 2021-07-07 08:44 雅丽梅 阅读(38) 评论(0) 推荐(0)
摘要: 一、作为C++编程小白,有必要简单分析、记录下,快速排序算法的实现,以便后续复习: #include <stdio.h> int a[101], n; //定义全局变量,并在子函数中使用 void quicksort(int left, int right){ int i, j, t, temp; 阅读全文
posted @ 2021-07-06 21:04 雅丽梅 阅读(58) 评论(0) 推荐(0)
摘要: 冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。时间复杂度O(N **2) /* 同一个 project 内,只能有一个 main function*/ EG1. 输入一列数字,并以从大到小的顺序输出 #include <stdio.h>void main(){ i 阅读全文
posted @ 2021-07-06 15:23 雅丽梅 阅读(48) 评论(0) 推荐(0)
摘要: 一、简单的桶排序:非常浪费空间!而且限制较多!时间复杂度O(N+M) EG1. 编写一段程序,让计算机随机读入5 个数然后将这5 个数从大到小输出? #include <stdio.h> //引入头文件,包含很多常用函数,如printfint main() // int表示返回值,无需返回值用voi 阅读全文
posted @ 2021-07-05 20:51 雅丽梅 阅读(86) 评论(0) 推荐(0)
摘要: 1.概念 DB:数据集合 DBMS:数据集合 + 处理数据的程序,构成的软件系统(信息存储结构的定义,信息操作机制,信息的安全性/一致性保证) 实现数据的计算机化管理模式! 2.文件系统的弊端: 数据冗余、访问难 -> 数据不一致 数据孤立/完整性/原子性问题 -> 一致性无法保证 并发性 安全性 阅读全文
posted @ 2021-06-24 22:39 雅丽梅 阅读(46) 评论(0) 推荐(0)