摘要: 链表 基本概念 链表(数据结构):线性表(逻辑结构)的链式存储结构 单链表 VS 顺序表 在单链表上效率更高的操作 删除所有值为x的数 删除某个任意元素 在任意元素后插入一个数 在顺序表上效率更高的操作 在最后一个元素后面插入一个数 交换任意两个元素的值 取出某个元素的值 设置头节点的好处:方便运算 阅读全文
posted @ 2022-11-22 11:30 pinoky 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 栈和队列(理论+实践) 基本概念 栈和队列的逻辑结构是:线性表 栈 概念:限制存取点的后入先出的线性表 数学性质:n个不同的元素入栈,出栈元素的不同排列个数是1/(n+1)*C^n^~2n~:卡特兰数 存储结构 顺序栈:数组+栈顶指针 //创建 int stk[N],tt; //插入操作 stk[+ 阅读全文
posted @ 2022-11-22 11:30 pinoky 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 排序算法(实践篇) 插入排序 直接插入 void insert_sort(int q[],int n) { int i,j; for(i=2;i<=n;i++) { if(q[i]<q[i-1]) //q[i]<q[i-1]说明要将q[i]插入前面的有序表 { q[0]=q[i];//哨兵=q[i] 阅读全文
posted @ 2022-11-22 11:29 pinoky 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 排序算法(理论篇) 插入排序 直接插入:时间:O(n^2^);空间:O(1) 比较次数分析 最好情况(全正序):n-1次 最坏情况(全逆序):n(n-1)/2次 一般情况分析举例:对于21,32,46,40的序列从小到大排序来说,32和46比前面的数都大,故只比较一次,40比46小(比较第一次),比 阅读全文
posted @ 2022-11-22 11:28 pinoky 阅读(43) 评论(0) 推荐(0) 编辑