时间复杂度
数据结构
1234567891011121314151617181920212223242526272829#include<stdio.h>voidloveYou(intn);intmain(void){loveYou(3000);return0;}voidloveYou(intn){ //n为问题规模inti = 1; //爱你的程度while(i <= n) { //每次+1i++;printf("I Love You %d\\n", i);}printf("I Love You More Than %d\\n", n);}
代码分析:
==(1)程序运行时,会将程序代码装载进内存中,而内存中存放程序代码的部分大小是固定的,与问题规模无关==
==(2)本程序中,装入内存的变量有局部变量i和参数n,他们所占内存空间大小是不变的==
==(3)本程序空间复杂度: S(n) = O(1)==
概述绪论
数据结构
数据类型,抽象数据类型
空间复杂度
数据结构
#include<stdio.h>
intmain(void) {
intflag\[n\]; //声明一个长度为n的数组,此时时间复杂度S(n) = O(n)
/\*下列代码空间复杂度度:S(n) = O(n\*n) + O(n) + O(1) = O(n\*n)
\*/
intflag\[n\]\[n\];
intother\[n\];
inti;
return 0;
}
算法概念
算法概念
算法的特性
顺序存储
静态实现
12345678910111213141516171819#define MaxSize 10 //定义最大长度typedef struct { int data[MaxSize]; //用静态的“数组”存放数据元素 int length; //顺序表的当前长度,且不可变}SqList; //顺序表的类型定义//基本操作-初始化顺序表void InitList(SqList &L);int main(void) { SqList L; //声明一个顺序表 InitList(L); //初始化顺序表 return 0;}void InitList(SqList &L) { for (int i = 0; i < MaxSize; i++) { L.data[i] = 0; //将所有数据元素设置为默认初始值 } //顺序表初始长度 ...
预备知识
数据结构指针地址:内存单元的编号
指针就是地址,地址就是指针
2
3
Int * p
malloc函数
跨函数使用内存
1234567891011121314151617181920212223242526272829
#include<stdio.h>#include<malloc.h>struct student{ int sid**; int age;};struct student * greatstudent(void){ struct student * p =(struct student *)malloc(sizeof(struct student)); p->sid = 99; p->age = 88; return p;}void showstudent(struct student *pst){ printf(“%d %d\n**”,pst->age,pst->sid);}int main(void){str ...
模板2023年3月2日
通讯录管理