用顺序结构实现线形表(动态数组)
12个基本操作
顺序表的合并(加法)、剔除(减法)
主函数用来演示这些操作
9月16日晚上24:00前交
实验报告9月19日上课时交
作业3:
用指针链表结构实现线性表
作业4:
利用栈,判断一串字符是否回文。
作业5:
利用栈,将文本图形反转。
∧ ∧︵ *
ミ^o^ミ灬)~ * * *
* * * *
* * *
︵∧ ∧ *
~(灬ミ^o^ミ * * *
* * * *
* * *
作业6:
读入一长串文本,统计每个单词出现的次数。
作业7:
用“行逻辑链表的顺序表”实现稀疏矩阵的压缩存储。
并实现矩阵的4个基本操作,以及矩阵的转置函数, 加法函数, 乘法函数。
作业8:
迷宫问题的算法设计与实现
1.随机产生一个迷宫;
2.找出一条可以通行的路径;
3.找出全部可以通行的路径。
作业9:
输入:树的中序遍历序列、树的后序遍历序列。
输出:树的先序、中序、后序遍历序列。此时的中序、后序遍历序列必须是
由程序遍历后输出的,不是原来输入的中序、后序遍历序列。
作业10:
Kruskal算法的实现与验证
任意输入一个带权网络,求该网络的最小生成树。
1. 输入若干顶点,存放在一个数组
2. 输入边,存放在另一个数组
3. 处理
4. 输出生成树的边。
作业11:
拓扑排序算法的实现
编程实现对有向图构造其顶点的拓扑有序序列
有兴趣的话,可以进一步编写“求有向无环网络关键路径的方法”
作业12:
实现二分查找(折半查找)算法
做一个二分查找的函数。
主函数设置一个比较大的一维数组,放入排好序的集合,
然后用二分查找法找出某个关键字是否在这个集合中。
作业13:
在一个程序中实现以下这5个排序算法:
折半插入排序、希尔排序、快速排序、堆排序、二路归并排序。
分别用这5个算法对30个以上的零乱关键字进行排序,输出排序结果。
并统计出每个算法的比较次数和交换次数。