数据结构与算法
__山顶洞人__
这个作者很懒,什么都没留下…
展开
-
C语言选择排序
#include<stdio.h>#include<stdlib.h>int main(){ int i, j = 0; int a[] = { 2,3,44,5,1,2,70,77,90,23,45,6,7,88,10,9 }; int n = sizeof(a) / sizeof(a[1]); int temp=0; printf("排序前数组为:\n"); for (i = 0; i <= n - 1; i++) { printf("%4d.原创 2021-08-28 10:52:18 · 81 阅读 · 0 评论 -
C语言队列的两种实现
### 本文比较注重动手能力,关于各种数据结构的理论知识请查阅书籍或相关网页,代码部分都有注释一、基于循序表的循环队列#include<stdlib.h>#include<stdio.h>#define MaxSize 20typedef struct{ int data[MaxSize]; int front,rear;}squeue, *squlink;//清空队列void Clearsqueue(squlink q){ q->front=原创 2021-08-20 16:12:25 · 150 阅读 · 0 评论 -
C语言中栈的两种实现方法
一、顺序栈#include<stdio.h>#include<stdlib.h>#define maxsize 64//定义栈typedef struct{ int data[maxsize]; int top;}sqstack,*sqslink;//设置栈空void Clearstack(sqslink s){ s->top=-1;}//判断栈空int Emptystack(sqslink s){ if (s->top&原创 2021-08-19 22:53:14 · 642 阅读 · 0 评论 -
算法时间复杂度的计算
时间复杂度的计算规则:①基本操作,认为其时间复杂度为O(1) # 加减乘除等类似的操作②顺序结构,时间复杂度按加法进行计算③循环结构,时间复杂度按乘法进行计算④分支结构,时间复杂度取最大值⑤判断一个算法的效率时,往往只需要关注操作数量的最高次项,其它次要项和常数项可以忽略⑥在没有特殊说明时,我们所分析的算法的时间复杂度都是指最坏时间复杂度 ...原创 2021-01-27 17:21:36 · 5762 阅读 · 0 评论