数据结构与算法分析

/头插法

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]

}

相关推荐
小王C语言5 小时前
封装红黑树实现mymap和myset
linux·服务器·算法
幸运小圣5 小时前
Set数据结构【ES6】
javascript·数据结构·es6
大佬,救命!!!5 小时前
算法实现迭代2_堆排序
数据结构·python·算法·学习笔记·堆排序
天桥下的卖艺者6 小时前
R语言手搓一个计算生存分析C指数(C-index)的函数算法
c语言·算法·r语言
Espresso Macchiato6 小时前
Leetcode 3715. Sum of Perfect Square Ancestors
算法·leetcode·职场和发展·leetcode hard·树的遍历·leetcode 3715·leetcode周赛471
草莓熊Lotso6 小时前
《C++ Stack 与 Queue 完全使用指南:基础操作 + 经典场景 + 实战习题》
开发语言·c++·算法
敲上瘾6 小时前
单序列和双序列问题——动态规划
c++·算法·动态规划
太过平凡的小蚂蚁7 小时前
策略模式:让算法选择像点菜一样简单
算法·策略模式
时间醉酒7 小时前
数据结构基石:单链表的全面实现、操作详解与顺序表对比
数据结构·链表