当前位置:首页 » 编程语言 » 数据结构c语言版目录
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据结构c语言版目录

发布时间: 2022-07-29 14:28:24

Ⅰ 数据结构与算法分析:c语言描述的目录

第1章 引论1.1 本书讨论的内容1.2 数学知识复习1.2.1 指数1.2.2 对数1.2.3 级数1.2.4 模运算1. 2.5 证明方法1.3 递归简论总结练习参考文献第2章 算法分析2.1 数学基础2.2 模型2.3 要分析的问题2.4 运行时间计算2.4.1 一个简单的例子2.4.2 一般法则2.4.3 最大子序列和问题的解.2.4.4 运行时间中的对数2.4.5 检验你的分析2.4.6 分析结果的准确性总结练习参考文献第3章 表、栈和队列3.1 抽象数据类型(adt)3.2 表adt3.2.1 表的简单数组实现3.2.2 链表3.2.3 程序设计细节3.2.4 常见的错误3.2.5 双链表3.2.6 循环链表3.2.7 例子3.2.8 链表的游标实现3.3 栈adt3.3.1 栈模型3.3.2 栈的实现3.3.3 应用3.4 队列adt3.4.1 队列模型3.4.2 队列的数组实现3.4.3 队列的应用总结练习第4章 树4.1 预备知识4.1.1 树的实现4.1.2 树的遍历及应用4.2 二叉树4.2.1 实现4.2.2 表达式树4.3 查找树adt--二叉查找树4.3.1 makeempty4.3.2 find4.3.3 findmin和findmax4.3.4 insert4.3.5 delere4.3.6 平均情形分析4.4 avl树4.4.1 单旋转4.4.2 双旋转4.5 伸展树4.5.1 一个简单的想法4.5.2 展开4.6 树的遍历4.7 b-树总结练习参考文献第5章 散列5.1 一般想法5.2 散列函数5.3 分离链接法5.4 开放寻址法5.4.1 线性探测法5.4.2 平方探测法5.4.3 双散列5.5 再散列5.6 可扩散列总结练习参考文献第6章 优先队列(堆)6.1 模型6.2 一些简单的实现6.3 二叉堆6.3.1 结构性质6.3.2 堆序性质6.3.3 基本的堆操作6.3.4 其他的堆操作6.4 优先队列的应用6.4.1 选择问题6.4.2 事件模拟6.5 d-堆6.6 左式堆6.6.1 左式堆的性质6.6.2 左式堆的操作6.7 斜堆6.8 二项队列6.8.1 二项队列结构6.8.2 二项队列操作6.8.3 二项队列的实现总结练习参考文献第7章 排序7.1 预备知识7.2 插入排序7.2.1 算法7.2.2 插入排序的分析7.3 一些简单排序算法的下界7. 4 希尔排序7.4.1 希尔排序的最坏情形分析7.5 堆排序7.5.1 堆排序的分析7.6 归并排序7.6.1 归并排序的分析7.7 快速排序7.7.1 选取枢纽元7.7.2 分割策略7.7.3 小数组7.7.4 实际的快速排序例程7.7.5 快速排序的分析7.7.6 选择的线性期望时间算法7.8 大型结构的排序7.9 排序的一般下界7.9.1 决策树7.10 桶式排序7.11 外部排序7.11.1 为什么需要新的算法7.11.2 外部排序模型7.11.3 简单算法7.11.4 多路合并7.11.5 多相合并7.11.6 替换选择总结练习参考文献第8章 不相交集adt8.1 等价关系8.2 动态等价性问题8.3 基本数据结构8.4 灵巧求并算法8.5 路径压缩8.6 按秩求并和路径压缩的最坏情形8.6.1 union/find算法分析8.7 一个应用总结练习参考文献第9章 图论算法9.1 若干定义9.1.1 图的表示9.2 拓扑排序9.3 最短路径算法9.3.1 无权最短路径9.3.2 dijkstra算法9.3.3 具有负边值的图9.3.4 无圈图9.3.5 所有点对最短路径9.4 网络流问题9.4.1 一个简单的最大流算法9.5 最小生成树9.5.1 prim算法9.5.2 kruskal算法9.6 深度优先搜索的应用9.6.1 无向图9.6.2 双连通性9.6.3 欧拉回路9.6.4 有向图9.6.5 查找强分支9.7 np-完全性介绍9.7.1 难与易9.7.2 np类9.7.3 np-完全问题总结练习参考文献第10章 算法设计技巧10.1 贪婪算法10.1.1 一个简单的调度问题10.1.2 huffman编码10.1.3 近似装箱问题10.2 分治算法10.2.1 分治算法的运行时间10.2.2 最近点问题10.2.3 选择问题10.2.4 一些运算问题的理论改进10.3 动态规划10.3.1 用一个表代替递归10.3.2 矩阵乘法的顺序安排10.3.3 最优二叉查找树10.3.4 所有点对最短路径10.4 随机化算法10.4.1 随机数发生器10.4.2 跳跃表10.4.3 素性测试10.5 回溯算法10.5.1 收费公路重建问题10.5.2 博弈总结练习参考文献第11章 摊还分析11.1 一个无关的智力问题11.2 二项队列11.3 斜堆11.4 斐波那契堆11.4.1 切除左式堆中的节点11.4.2 二项队列的懒惰合并11.4.3 斐波那契堆操作11.4.4 时间界的证明11. 5 伸展树总结练习参考文献第12章 高级数据结构及其实现12.1 自顶向下伸展树12.2 红黑树12.2.1 自底向上插入12.2.2 自顶向下红黑树12.2.3 自顶向下删除12.3 确定性跳跃表12.4 aa-树12.5 treap树12.6 k-d树12.7 配对堆总结练习参考文献索引

Ⅱ 数据结构c语言版

#include <stdio.h> //程序经cfree运行基本无误,&为引用调用,为c++标准
void alsData(int day[],int &maxFall,int &maxUnfall) //天数计算模块
{int maxf,maxu,i,pre; //pre为前一天的情况
maxFall=maxUnfall=0;

if(day[0]>0) //给第一个pre赋初值
{pre=1;maxf=1;}
else
{pre=0;maxu=1;}

for(i=1;i<30;i++)
{if(day[i]>0)
{if(pre>0)
maxf++;

else if(pre==0)
{maxu=0;
maxf=1;
}
maxFall=(maxFall>maxf?maxFall:maxf);
pre=1;
}

else if(day[i]==0)
{if(pre>0)
{maxf=0;
maxu=1;
}

else if(pre==0)
maxu++;

maxUnfall=(maxUnfall>maxu?maxUnfall:maxu);
pre=0;
}

}
}

void main()
{int i,day[30],maxFall,maxUnfall;
puts("Input data:");
for(i=0;i<30;i++)
{printf("%d:",i+1);
scanf("%d",&day[i]);
}
puts("Analyzing...");
alsData(day,maxFall,maxUnfall);

printf("The max fall days are %d\n",maxFall);
printf("The max unfall days are %d \n",maxUnfall);

}

Ⅲ 数据结构C语言版的图书目录

第1章绪论1
1.1什么是数据结构1
1.2基本概念和
术语4
1.3抽象数据类型的表示与实现9
1.4算法和算法分析13
1.4.1算法13
1.4.2算法设计的要求13
1.4.3算法效率的度量14
1.4.4算法的存储空间需求17
第2章线性表18
2.1线性表的类型定义18
2.2线性表的顺序表示和实现21
2.3线性表的链式表示和实现27
2.3.1线性链表27
2.3.2循环链表35
2.3.3双向链表35
2.4一元多项式的表示及相加39
第3章栈和队列44
3.1栈44
3.1.1抽象数据类型栈的定义44
3.1.2栈的表示和实现45
3.2栈的应用举例48
3?2?1数制转换48
3?2?2括号匹配的检验49
3?2?3行编辑程序49
3?2?4迷宫求解50
3?2?5表达式求值52
**3.3栈与递归的实现54
3.4队列58
3.4.1抽象数据类型队列的定义58
3.4.2链队列——队列的链式表示和实现60
3.4.3循环队列——队列的顺序表示和实现63
**3.5离散事件模拟65
第4章串70
4.1串类型的定义70
4.2串的表示和实现72
4.2.1定长顺序存储表示73
4.2.2堆分配存储表示75
4?2?3串的块链存储表示78
**4?3串的模式匹配算法79
4.3.1求子串位置的定位函数Index(S,T,pos)79
4.3.2模式匹配的一种改进算法80
4.4串操作应用举例84
4.4.1文本编辑84
4.4.2建立词索引表86
第5章数组和广义表90
5.1数组的定义90
5.2数组的顺序表示和实现91
5.3矩阵的压缩存储95
5.3.1特殊矩阵95
5.3.2稀疏矩阵96
5.4广义表的定义106
5.5广义表的存储结构109
**5.6m元多项式的表示110
**5.7广义表的递归算法112
5.7.1求广义表的深度113
5.7.2复制广义表115.7.3建立广义表的存储结构115
第6章树和二叉树118
6.1树的定义和基本术语118
6.2二叉树121
6.2.1二叉树的定义121
6.2.2二叉树的性质123
6.2.3二叉树的存储结构126
6.3遍历二叉树和线索二叉树128
6.3.1遍历二叉树128
6.3.2线索二叉树132
6.4树和森林135
6.4.1树的存储结构135
6.4.2森林与二叉树的转换137
6.4.3树和森林的遍历138
**6.5树与等价问题139
6.6赫夫曼树及其应用144
6.6.1最优二叉树(赫夫曼树)144

Ⅳ 数据结构课到底学的是什么

相信你也在网上查过此类问题了,我给你瘦点我自己的理解吧:
数据结构讲的是数据在计算机数据处理中的逻辑结构与存储结构及其基本应用操作。
逻辑结构是指数据运算是的逻辑表示,比如a[3]={1,2,3}表示一个元素为3个的一维数组。
存储结构是指数据在计算机内存放的形式,比如a[3]={1,2,3}在计算机里怎么存放呢?计算机可以分配一块连续的存储单元一次放入1、2、3这三个元素。当计算机运算调用到a[3]时,就直接从这块连续的存储单元调入对应的元素。计算机还可以分配几块不连续的存储单元存放这三个元素,但每个存储单元里除了存放数据1、2、3外必须还有其他辅助信息,比如,下一个存储单元地址,是否结束等信息。这就是存储结构。
数据结构还会涉及到数据结构的一些应用比如查找、排序、文件等。
数据结构是学习计算机知识的基础学科,对于后续计算机知识的进一步学习很重要,如果想在计算机方面深造的话,建议好好学习!

给你附个数据结构经典教材的目录:
数据结构(C语言版)(附光盘1张)(清华大学计算机系列教材)
目录
第1章 绪论
1.1 什么是数据结构
1.2 基本概念和术语
1.3 抽象数据类型的表现与实现
1.4 算法和算法分析
第2章 线性表
2.1 线性表的类型定义
2.2 线性表的顺序表示和实现
2.3 线性表的链式表示和实现
2.4 一元多项式的表示及相加
第3章 栈和队列
3.1 栈
3.2 栈的应有和举例
3.3 栈与递归的实现
3.4 队列
3.5 离散事件模拟
第4章 串
4.1 串类型的定义
4.2 串的表示和实现
4.3 串的模式匹配算法
4.4 串操作应用举例
第5章 数组和广义表
5.1 数组的定义
5.2 数组的顺序表现和实现
5.3 矩阵的压缩存储
5.4 广义表的定义
5.5 广义表的储存结构
5.6 m元多项式的表示
5.7 广义表的递归算法第6章 树和二叉树
6.1 树的定义和基本术语
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的存储结构
6.3 遍历二叉树和线索二叉树
6.3.1 遍历二叉树
6.3.2 线索二叉树
6.4 树和森林
6.4.1 树的存储结构
6.4.2 森林与二叉树的转换
6.4.3 树和森林的遍历
6.5 树与等价问题
6.6 赫夫曼树及其应用
6.6.1 最优二叉树(赫夫曼树)
6.6.2 赫夫曼编码
6.7 回溯法与树的遍历
6.8 树的计数
第7章 图
7.1 图的定义和术语
7.2 图的存储结构
7.2.1 数组表示法
7.2.2 邻接表
7.2.3 十字链表
7.2.4 邻接多重表
7.3 图的遍历
7.3.1 深度优先搜索
7.3.2 广度优先搜索
7.4 图的连通性问题
7.4.1 无向图的连通分量和生成树
7.4.2 有向图的强连通分量
7.4.3 最小生成树
7.4.4 关节点和重连通分量
7.5 有向无环图及其应用
7.5.1 拓扑排序
7.5.2 关键路径
7.6 最短路径
7.6.1 从某个源点到其余各顶点的最短路径
7.6.2 每一对顶点之间的最短路径
第8章 动态存储管理
8.1 概述
8.2 可利用空间表及分配方法
8.3 边界标识法
8.3.1 可利用空间表的结构
8.3.2 分配算法
8.3.3 回收算法
8.4 伙伴系统
8.4.1 可利用空间表的结构
8.4.2 分配算法
8.4.3 回收算法
8.5 无用单元收集
8.6 存储紧缩
第9章 查找
9.1 静态查找表
9.1.1 顺序表的查找
9.1.2 有序表的查找
9.1.3 静态树表的查找
9.1.4 索引顺序表的查找
9.2 动态查找表
9.2.1 二叉排序树和平衡二叉树
9.2.2 B树和B+树
9.2.3 键树
9.3 哈希表
9.3.1 什么是哈希表
9.3.2 哈希函数的构造方法
9.3.3 处理冲突的方法
9.3.4 哈希表的查找及其分析
第10章 内部排序
10.1 概述
10.2 插入排序
10.2.1 直接插入排序
10.2.2 其他插入排序
10.2.3 希尔排序
10.3 快速排序
10.4 选择排序
10.4.1 简单选择排序
10.4.2 树形选择排序
10.4.3 堆排序
10.5 归并排序
10.6 基数排序
10.6.1 多关键字的排序
10.6.2 链式基数排序
10.7 各种内部排序方法的比较讨论
第11章 外部排序
11.1 外存信息的存取
11.2 外部排序的方法
11.3 多路平衡归并的实现
11.4 置换一选择排序
11.5 最佳归并树
第12章 文件
12.1 有关文件的基本概念
12.2 顺序文件
12.3 索引文件
12.4 ISAM文件和VSAM文件
12.4.1 ISAM文件
12.4.2 VSAM文件
12.5 直接存取文件(散列文件)
12.6 多关键字文件
12.6.1 多重表文件
12.6.2 倒排文件
附录A 名词索引
附录B 函数索引
参考书目

Ⅳ c语言数据结构pdf

强烈建议买国外版。数据结构(C语言版)—作者:(美)霍罗威茨等着,李建中等译出版社:机械工业出版社本书的采用该类教材传统的内容与组织结构。层次清晰,代码质量很高。可以从书总的叙述看出作者的教学经验。尽管有一定难度,但作者自始至终,都是从相对基础知识开始讲起,循序渐进。(比如c的数据存储?式),这点比严蔚敏的那本好很多。最重要的是,书中的证明都很简洁,与之相比严蔚敏的教材简直就是噩梦(比如严的书中关于模式匹配的讲解)。

Ⅵ 数据结构(C语言版) 清华大学出版社 严蔚敏 吴伟民 编着的 那本书的光盘内容谁有给下下载地址...

http://ishare.iask.sina.com.cn/f/8350733.html?from=isnom

本光盘是《数据结构(C语言版)》一书的配书光盘,作为数据结构课程的
辅助学习工具。

1. 光盘运行环境

硬件:Pentium 100以上多媒体PC机。
软件:Windows 95/98/Me/2000/XP 操作系统。

2. 盘中内容

\DSDemoW 数据结构算法演示系统(Windows版)β测试版
\DSDemoC 数据结构算法演示系统(C语言描述)V3.1C中文版
Readme.txt 光盘使用说明

3. 使用光盘

(1) 进入光盘中的\DSDemoW 目录,运行DSdemoW.EXE,可以进入
数据结构算法演示系统(Windows版)β测试版的主界面。该版本的演示系统提供了
Pascal 和 C 两种程序设计语言的演示和算法源程序。欢迎各位读者对该软件提出
改进意见。

关于演示软件的数据结构算法演示系统(Windows版)用法,可以参考\DSDemoW
目录下的Manual.doc文件,可以用Microsoft Word 97及以上版本打开该文件。

(2) 进入光盘中的“\DSDemoC”目录,运行DSDemo.EXE,可以进入
数据结构算法演示系统(C语言描述)V3.1C中文版。该软件是在原DOS版程序
基础上改进而成,具体操作请按照界面上的提示进行。

Ⅶ 数据结构c语言版和java版有什么不同

数据结构本身是一种逻辑上的概念,它是独立于特定语言或者实现的

比如说链表,概念上说就是一组结点构成的数据结构,其中每个结点均带有后续结点信息。各种语言都可以实现链表,但实现的思路都是基于上面的逻辑概念。

因此,学习数据结构不必拘泥于某种特定语言,归根结底是要把握每个数据结构(逻辑上)的精髓

在这个基础上,每种语言都可以实现特定的数据结构,差别只在于语法实现级别。

另外虽然Java/C++等语言都带有大量的标准类库,但这并不意味着可以忽视数据结构基础理论的学习。这直接关系到实际应用时,是只能死板套用现成模板,还是灵活应用各种结构高效实现需求。

Ⅷ 数据结构C语言版的介绍

《数据结构C语言版》是1997年清华大学出版社出版的一本图书,作者是严蔚敏,吴伟民。

Ⅸ 数据结构(C语言版)的介绍

《数据结构(C语言版)》是2011年出版的图书,作者是严蔚敏,清华大学计算机系教授,长期从事数据结构教学和教材建设。