数据结构算法演示系统是编辑推荐的辅助教学软件,以动态演示数据结构算法的执行过程。通过用户数据输入,该软件可以直接显示整个算法的执行过程,该过程有助于用户更快地学习编程和算法。如有必要,您可以下载并使用它。
功能介绍
该系统包含84个算法,属于13个部分,并由主菜单显示,对应于第2章到第《数据结构》教科书中的第11章。每个部分的算法如下:
1。序列表
(1)在顺序表中插入数据元素(ins_sqlist)
(2)在订单表(del_sqlist)中删除数据元素
(3)合并两个订购订单表(Merge_sqlist)
2。链接列表
(1)创建一个单个链接列表(CRT_LINKLIST)
(2)在单个链接列表中插入节点(ins_linklist)
(3)删除单个链接列表中的节点(del_linklist)
(4)合并了两个有序的链接列表(UNION)
(5)合并两个有序的链接列表(MERGELIST_L)
(6)两个有序的链接列表相交(ListIntersection_l)
(7)找到两个有序链接列表(sublist_l)之间的区别
3。堆栈和队列
(1)计算Ackman功能(Ackman)
(2)堆栈的输出序列(gen,corme)
(3)递归算法的演示
河内塔的算法
解决女王问题的算法(女王)
用于解决迷宫的算法(迷宫)
解决背包问题的算法(knap)
(4)银行仿真
(5)表达评估(exp_reduced)
4。字符串的模式匹配
(1)经典算法(index_bf)
(2)找到下一个函数值(get_next)并匹配下一个函数值(index_kmp(next))
(3)找到下一个校正值(get_nextval)并匹配下一个校正值(index_kmp(nextVal))
5。稀疏矩阵
(1)矩阵换位(trans_sparmat)
(2)快速矩阵换位(fast_transpos)
(3)矩阵乘法(pultiply_sparmat)
6。广义表
(1)找到广义表的深度(LS_DEPTH)
(2)复制广义表(LS_COPY)
(3)创建广义表存储结构(CRT_LIST)
7。二进制树
(1)穿越二进制树
二元树的线索
预订遍历(pre_order)
驻留遍历(in_order)
后订单遍历(post_order)
(2)创建一个按顺序创建二进制树(CRTBT_PREODR)
(3)线索二进制树
二元树的线索
?生成优先线索(前身或继任者)(pre_thre)
“序列线索(前任或继任者)(in_thre)
序列后线索(前任或继任者)
遍历订购的线索二进制树(inorder_thlinked)
插入(ins_lchild_inthr)和删除(del_lchild_inthr)中间阶线线的节点
(4)建造霍夫曼树并找到霍夫曼编码(Huffmancoding)
(5)森林进入二进制树(Forest2bt)
(6)将二进制树转化为森林(BT2Forest)
(7)根据表达式(Exptree)创建树并进行评估(CalexptreeBypostorderTrav)
8。图片
(1)图片的遍历
深度优先搜索(travel_dfs)
广度优先搜索(travel_bfs)
(2)找到有向图的强连接组件(strong_comp)
(3)针对定向无环图的两种算法
拓扑排序(TopoSort)
关键路径(criality_path)
(4)找到最小跨树
PRIM算法(PRIM)
KRUSCAL算法(KRUSCAL)
(5)找到连接节点和重新连接组件(get_artical)
(6)找到最短的路径
Floyd算法(Shortpath_floyd)
Dijstra算法(Shortpath_dij)
9。存储管理
(1)boundard_tag_method)
(2)合作伙伴系统(buddy_system)
(3)关闭无用的单元(storage_compaction)
10。静态搜索
(1)顺序搜索(search_seq)
(2)半倍搜索(serch_bin)
(3)插值搜索(search_ins)
(4)fibonacci搜索(search_fib)
(5)次优搜索树(bitree_sostree)
11。动态搜索
(1)搜索(BSTSRCH),插入节点(ins_bstree)和二进制排序树上的节点(del_bstree)
(2)在二进制平衡树上插入节点(ins_avltree)和删除节点(del_avltree)
(3)插入节点(ins_btree)和删除节点(del_btree)在b-tree上
(4)在B+树上插入节点(ins_pbtree)和删除节点(del_pbtree)
12。内部排序
(1)简单排序方法
直接插入排序(insert_sort)
表插入排序(包括两种插入算法(ins_tsort)和重新排列(安排)
Bubblesort
简单选择排序(SelectSort)
(2)复杂分类方法
堆排序(heapsort)
QuickSort
比赛排序
(3)其他
快速地址排序(qkaddrst)
radixsort
13。外部排序
(1)多个平衡合并排序(K-Merge)
(2)排列选择排序(repl_selection)
如何使用
1。用户下载并打开软件,然后单击他们需要学习的算法。
2。打开算法后,输入数据并单击“运行”以查看整个代码的运行过程。
121.36MB
1117.83MB
2282.95MB
31.68GB
4353.11 MB
588.6M
6538.62MB
7102MB
8