数据结构与算法分析

/头插法

LinkList *CreateListF(){

char ch;

LinkList *head=NULL;

while((ch=getchar())!='#'){

LinkList s=(LinkList )malloc(sizeof(LinkList));

s->data=ch;

s->next=head;

head=s;

}

return head;

}

//尾插法

LinkList *CreateListR(){

char ch;

LinkList *head=NULL,*s,r=NULL;
while((ch=gether())!='#'){
s=(LinkList
)malloc(sizeof(LinkList));

s-data=ch;

if(head==NULL){

head=s;

}else{

r->next=s;

}

r=s;

}

if(r!=NULL) r->next=NULL;

return head;

}

//头结点尾插法

LinkList *CreatList(){

char ch;

LinkList head=(LinkList )malloc(sizeof(LinkList));

LinkList *r=head,s;
while((ch=gether())!='#'){
s=(LinkList
)malloc(sizeof(LinkList));

s->data=ch;

r->next=s;

r=s;

}

r->next=NULL;

return head;

}

//顺序栈

#define MAXSIZE 1020

typedef int Datatype;

typedef struct{

Datatype data[MAXSIZE];

int Top;

}SequenStack;

//链栈

typedef int Datatype;

typedef struct node{

Datatype element;

struct node *next;

}LinkList;

LinkList *Top;

//fibonacci递归

int Fib(int n){

if(n0) return 0;
if(n1) return 1;

return Fib(n-1)+Fib(n-2);

}

//优化

int FibDP(int n){

if(n<=) return n;

int dp[n-1];

dp[0]=0;

dp[1]=1;

for(int i=2;i<=n;i++){

dp[i]=dp[i-1]+dp[i-2];

}

rerurn dp[n]

}

相关推荐
hh随便起个名3 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
Dingdangcat865 小时前
城市交通多目标检测系统:YOLO11-MAN-FasterCGLU算法优化与实战应用_3
算法·目标检测·目标跟踪
xie_pin_an5 小时前
深入浅出 C 语言数据结构:从线性表到二叉树的实战指南
c语言·数据结构·图论
tang&5 小时前
滑动窗口:双指针的优雅舞步,征服连续区间问题的利器
数据结构·算法·哈希算法·滑动窗口
拼命鼠鼠6 小时前
【算法】矩阵链乘法的动态规划算法
算法·矩阵·动态规划
LYFlied6 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
式5166 小时前
线性代数(八)非齐次方程组的解的结构
线性代数·算法·机器学习
Nandeska7 小时前
2、数据库的索引与底层数据结构
数据结构·数据库
橘颂TA7 小时前
【剑斩OFFER】算法的暴力美学——翻转对
算法·排序算法·结构与算法
叠叠乐7 小时前
robot_state_publisher 参数
java·前端·算法