数据结构
Mu ziyang
这个作者很懒,什么都没留下…
展开
-
数据结构|4.树
//双亲表示法 #define MAX_TREE_SIZE 100 typedef int TElemType; //树结点数据类型暂定为整型 typedef struct PTNode{//定义结点 TElemType data; int parent; }PTnode; typedef struct{//树结构 PTNode nodes[MAX_TREE_SIZE];//结点数组 int r,n;//根的位置以及结点数 }PTree; //孩子表示法 #原创 2021-11-20 15:57:06 · 252 阅读 · 0 评论 -
递归|斐波那契数列
数列 1,1,2,3,5,8,13,……,前两项之后构成后一项 #include<bits/stdc++.h> using namespace std; int Fbi(int i){ if(i<2) return i==0?0:1; return Fbi(i-1)+Fbi(i-2); } int main(){ int i; for(int i=1;i<40;i++) printf("%d ",Fbi(i)); return 0; } ...原创 2021-10-19 14:32:12 · 98 阅读 · 0 评论 -
数据结构|3.栈(stack)
1.定义: 栈是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。遵循后进先出原则(Last In First Out)简称LIFO结构。 2.基本操作 InitStack(*S):初始化 DestroyStack(*S):销毁栈 StackEmpty(S):若栈为空,返回true,否则返回false GetTop(S,*e):若栈存在且非空,用e返回栈顶元素 StackLength(S):返回栈S的元素个数原创 2021-10-19 14:24:03 · 455 阅读 · 0 评论 -
数据结构|1.时间复杂度
1.基础规则 用常数1取代运行时间中的所有加法常数。 在修改后的运行次数函数中,只保留最高阶项。 如果最高阶项存在且不是1,则去除与这个项相乘的常数。得到的结果就是大O阶。 循环体复杂度=循环条件复杂度*循环运行次数 2.举例子 代码如下: int i,j,n; n++;//O(1) function(n);O(n) for(i=0;i<n;i++){ function(n);//O(n^2) } for(i=0;i<n;i++){ for(j=i;j<n;j++...原创 2021-10-10 16:55:49 · 78 阅读 · 0 评论