
数据结构 学习历程
文章平均质量分 80
Henry Zheng
上联:人生苦短,我用python
下联:拥抱开源,我用Odoo
横批:欢迎打开Odoo的大门
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树遍历的递归算法
【二叉树遍历的递归算法】 实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 1.头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;#ifndef BTREE_H_INCLUDED#define BTREE_H_INCLUDED#defi原创 2016-07-06 12:35:54 · 5810 阅读 · 0 评论 -
项目 - 是否二叉排序树?
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称:项目 - 是否二叉树?.cpp *作 者: 郑兆涵 *项目 - 是否二叉树?*/ 问题:设计一个算法,判断给定的二叉树是否是二叉排序树。编程代码://int JudgeBST()是设计的算法对应的实现。原创 2015-12-12 21:10:05 · 579 阅读 · 2 评论 -
查找——平衡二叉树
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称:平衡二叉树.cpp *作 者: 郑兆涵 *查找——平衡二叉树 */ 问题:平衡二叉树相关算法的理解与分析编程代码:#include #include原创 2015-12-11 21:58:48 · 814 阅读 · 1 评论 -
图——图的遍历——深度优先遍历DFS
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 深度优先遍历DFS.cpp *作 者: 郑兆涵 *图——图的遍历——深度优先遍历DFS */问题:实现图遍历算法,输出深度优先遍历DFS以此图为例:编程代码://头文件:graph.原创 2015-11-22 10:37:37 · 1048 阅读 · 1 评论 -
广义表算法库及其应用(1)——建立广义表算法库
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 广义表.cpp *作 者: 郑兆涵 *广义表算法库及其应用*/ 问题:(1)建立广义表算法库,包括:①头文件glist.h,定义数据类型,声明函数;②源文件glist.cpp,实现稀疏矩阵三元组原创 2015-11-01 17:54:05 · 915 阅读 · 0 评论 -
稀疏矩阵的三元组表示的实现及应用(2)——采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 稀疏矩阵.cpp *作 者: 郑兆涵 *稀疏矩阵的三元组表示的实现及应用(2) */问题:稀疏矩阵的三元组表示的实现及应用(2)采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法提示1:两个行原创 2015-10-30 09:32:25 · 13302 阅读 · 3 评论 -
图——应用图的广度优先遍历思路求解问题
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 应用图的广度优先遍历求解问题.cpp *作 者: 郑兆涵 *图——应用图的广度优先遍历求解问题 */问题:假设图G采用邻接表存储,分别设计实现以下要求的算法:(1)求不带权连通图G中从顶点u到顶点v的一原创 2015-11-22 11:45:56 · 907 阅读 · 0 评论 -
关于算法分析的基础问题
用于丈量算法时间复杂度的O(n)、O(1)等是怎么算出来的,比如后缀计算表达式就是O(n),怎么算的:简单来说,如果一个算法,按照数据输入量的增长,它的运算时间的增长是线性的,那么就是O(n)比如说,线性搜索,后缀表达式的计算因为只要遍历一次表达式,并且无需回溯,那么也是O(n)。而二分搜索,很显然,需要搜索的次数肯定少于log2(n),所以就是O(logn)如果一个算法,运行转载 2015-12-10 07:40:59 · 619 阅读 · 2 评论 -
查找——二叉排列树
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称:二叉排列树.cpp *作 者: 郑兆涵 *查找——二叉排列树*/ 编写二叉排列树,并运行,分析代码编程代码://编写函数.并进行相关测试#include #include typedef int KeyType;t原创 2015-12-08 16:23:14 · 1077 阅读 · 0 评论 -
图——操作用邻接表存储的图
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 操作用邻接表存储的图.cpp *作 者: 郑兆涵 *图——操作用邻接表存储的图*/ 问题:假设图G采用邻接表存储,分别设计实现以下要求的算法:(1)输出出图G中每个顶点的出度;(2)求出图G中出度最大的一个顶点,输出该顶点编号;原创 2015-11-22 10:12:51 · 3601 阅读 · 0 评论 -
图——图的自建算法库
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 图的自建算法库.cpp *作 者: 郑兆涵 *图——自建算法库 */问题:定义图的临街矩阵和临街表存储结构,实现其基本运算,并完成测试,包含:①头文件:graph.h,包含定义图数据结构的代码、宏定义、原创 2015-11-17 20:02:59 · 915 阅读 · 0 评论 -
栈和队列(一)——栈的实践(2)——数制转换
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 数制转换.cpp *作 者: 郑兆涵 *栈和队列(一)——栈的实践(2)——数制转换 */问题:把十进制的整数转换为任一进制数输出。请利用栈设计算法,并实现程序。编程代码://头文件:sqstack原创 2015-11-15 21:57:25 · 837 阅读 · 0 评论 -
项目 - 二叉树排序树中查找的路径
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称:二叉排列树.cpp *作 者: 郑兆涵 *查找——二叉排列树*/ 问题:设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。编程代码://设计的算法体现在函数int SearchBST(…)和void S原创 2015-12-12 21:04:44 · 729 阅读 · 1 评论 -
图——图的遍历—— 广度优先遍历BFS
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 广度优先遍历BFS.cpp *作 者: 郑兆涵 *图——图的遍历—— 广度优先遍历BFS */ 问题:实现图遍历算法,输出广度优先遍历BFS以下图为例:编程代码://头文原创 2015-11-22 10:50:48 · 1213 阅读 · 1 评论 -
查找——B-树的基本操作
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称:查找——B-树的基本操作.cpp *作 者: 郑兆涵 *查找——B-树的基本操作 */ 问题:实现B-树的基本操作。基于序列{4, 9, 0, 1, 8, 6, 3, 5, 2, 7}完原创 2015-12-13 20:45:06 · 1192 阅读 · 1 评论 -
查找——索引结构和分块查找
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称:分块查找.cpp *作 者: 郑兆涵 *查找——索引结构和分块查找*/ 问题实现分块查找,并分析相关代码编程代码://分块查找函数实现#include #define MAXL 100 //数据表的最大原创 2015-12-06 21:48:46 · 3456 阅读 · 2 评论 -
查找——线性表的折半法查找
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 线性表的折半法查找.cpp *作 者: 郑兆涵 *查找——线性表的折半法查找 */ 问题:分析线性表的折半法查找编程代码://线性表的折半法查找#include #defin原创 2015-12-05 20:18:40 · 3102 阅读 · 2 评论 -
图——拓扑序列
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 拓扑序列.cpp *作 者: 郑兆涵 *图——拓扑序列 */ 问题:写出图中的拓扑序列测试用图为:拓扑排序的步骤及数据结构:编程代码: //头文件:graph.原创 2015-12-04 21:09:05 · 3594 阅读 · 1 评论 -
查找——线性表顺序查找算法
/**Copyright (c) 2015 , 烟台大学计算机学院*All right resvered .*文件名称: 线性表顺序查找算法.cpp*作 者: 郑兆涵*查找——线性表顺序查找算法*/问题:对线性表顺序查找算法进行分析编程代码://线性表顺序查找算法#include #define MAXL 100typedef int KeyTy原创 2015-12-05 15:55:42 · 10766 阅读 · 3 评论 -
图——每对顶点之间的最短路径 ——弗洛伊德算法
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: Floyd算法.cpp *作 者: 郑兆涵 *图——每对顶点之间的最短路径 ——弗洛伊德算法 */问题:每对顶点之间的最短路径 ——弗洛伊德算法测试用图为:编程代原创 2015-12-01 20:20:26 · 4348 阅读 · 2 评论 -
图——最小生成树的克鲁斯卡尔算法
/**Copyright (c) 2015 , 烟台大学计算机学院*All right resvered .*文件名称: Kruskal算法.cpp*作 者: 郑兆涵*图——最小生成树的克鲁斯卡尔算法*/问题:最小生成树的Kruskal算法例子测试用图为:编程代码: //头文件:graph.h,包含定义图数据结构的代码、宏定义、要实现原创 2015-11-29 18:30:23 · 2860 阅读 · 2 评论 -
Win7+Ubuntu双系统时间不一致问题
最近装了ubuntu和win7双系统,但是发现每次进入win7后时间总是不对,总是比当地时间晚8个小时,每次在win7下调整好之后,但是再一次进入win7系统后,时间又变回去了,于是在网上搜索一下原因原来是两个系统读取时间的机制不一样,现在来具体的说一下原因和解决办法吧: 原因所在:UTC即Universal Time Coordinated,协调世界时GMT即G原创 2015-11-29 21:49:00 · 787 阅读 · 1 评论 -
数据结构课程设计——校园导航系统开发
/*********************************************版权所有 (C)2015,zhengzhaohan**文件名称:data.h*文件标识:无*内容摘要:该代码用于定义烟台大学校园各点间的权值*其他说明:无*当前版本:V1.0*作者:郑兆涵*完成日期:2015.12.23***********************************原创 2015-12-30 08:51:10 · 10763 阅读 · 1 评论 -
图——最小生成树的普里姆算法
/**Copyright (c) 2015 , 烟台大学计算机学院*All right resvered .*文件名称: prim算法.cpp*作 者: 郑兆涵*图——最小生成树的普里姆算法*/问题:最小生成树的prim算法例子测试用图为:编程代码://头文件:graph.h,包含定义图数据结构的代码、宏定义、要实现算法的函数的声明#ifndef原创 2015-11-27 20:42:58 · 1590 阅读 · 2 评论 -
图——生成树和最小生成树 (概念解析)
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 生成树和最小生成树*作 者: 郑兆涵 *图——生成树和最小生成树 */ 1.生成树的概念一个连同图的生成树是该连通图的一个极小连同子图,它含有图中全部顶点,但只有构成一棵树的(n-1)条边.如果在一棵生成树9上添加一条边,必定构成一个环原创 2015-11-27 08:53:35 · 8228 阅读 · 3 评论 -
图——应用图的深度优先遍历思路求解问题
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 应用图的深度优先遍历思路求解问题.cpp *作 者: 郑兆涵 *图——应用图的深度优先遍历思路求解问题 */问题:假设图G采用邻接表存储,分别设计实现以下要求的算法:(1)设计一个算法,判断顶点u到v是原创 2015-11-22 11:19:10 · 3750 阅读 · 0 评论 -
栈和队列(一)——栈的实践(1)——括号的匹配
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 括号的匹配.cpp *作 者: 郑兆涵 *栈和队列(一)——栈的实践(1)——括号的匹配 */问题:假设表达式中允许三种括号:圆括号、方括号和大括号。编写一个算法,判断表达式中的各种左括号是否与右括号原创 2015-11-15 21:49:45 · 688 阅读 · 0 评论 -
稀疏矩阵的三元组表示的实现及应用(1)——建立稀疏矩阵三元组表示的算法库
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 对称矩阵压缩存储的实现与应用.cpp *作 者: 郑兆涵 *线性表(一)——顺序表 */ 问题:系数矩阵的三元组表示的实现及应用(1)建立稀疏矩阵三元组表示的算法库,包括: ①头原创 2015-10-30 08:28:10 · 10169 阅读 · 4 评论 -
栈和队列(一)——栈的实践(3)——后缀表达式
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 后缀表达式.cpp *作 者: 郑兆涵 *栈和队列(一)——栈的实践(3)——后缀表达式 */ 问题:利用sqstack.h中栈的基本运算,实现将一个中缀表达式转换为对应的后缀表达式的算法。编程代原创 2015-11-15 22:03:40 · 1043 阅读 · 0 评论 -
线性表(二)——单链表(4)——单链表的逆置
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 单链表的逆置.cpp *作 者: 郑兆涵 *线性表(二)——单链表 (4) */问题:设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,即第一个结点的数据域变为原创 2015-11-11 21:05:47 · 940 阅读 · 0 评论 -
线性表(二)——单链表(4)——单链表的递增判断
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 单链表的递增判断.cpp *作 者: 郑兆涵 *线性表(二)——单链表 (4) */问题:设计一个算法,判断单链表L是否是递增的。实现这个算法,并完成测试。编程代码: //头文件:l原创 2015-11-11 21:20:50 · 809 阅读 · 0 评论 -
线性表(二)——单链表(1)——单链表的创建
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 单链表的建立.cpp *作 者: 郑兆涵 *线性表(二)——单链表 (1)*/ 问题:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果。编程代码:#in原创 2015-11-10 21:29:48 · 667 阅读 · 0 评论 -
树和二叉树——利用二叉树遍历思想解决问题
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 树和二叉树.cpp *作 者: 郑兆涵 *树和二叉树——利用二叉树遍历思想解决问题 */ 问题:假设二叉树采用二叉链存储结构存储原创 2015-11-09 21:58:36 · 764 阅读 · 0 评论 -
线性表(二)——单链表(3)——单链表应用举例(1)—— 拆分单链表
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 单链表的自建算法库.cpp *作 者: 郑兆涵 *线性表(二)——单链表 (2) */ 问题:拆分单链表编程代码://头文件:linklist.h,包含原创 2015-11-10 21:59:18 · 697 阅读 · 0 评论 -
线性表(二)——单链表(3)——单链表应用举例(3)—— 增序排列节点
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 单链表的建立.cpp *作 者: 郑兆涵 *线性表(二)——单链表 (1) */ 问题:增序排列节点编程代码://头文件:linklist.h,包含定义顺序表数据结构原创 2015-11-11 09:08:27 · 527 阅读 · 0 评论 -
线性表(二)——单链表(2)——单链表的自建算法库
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 单链表的自建算法库.cpp *作 者: 郑兆涵 *线性表(二)——单链表 (2) */ 问题:建立单链表数据存储结构基本操作的算法库编程代码://头文件:linkli原创 2015-11-10 21:43:28 · 515 阅读 · 0 评论 -
树和二叉树——二叉树算法库
/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 树和二叉树.cpp *作 者: 郑兆涵 *树和二叉树————二叉树算法库*/ 问题:定义二叉树的链式存储结构,实现其基本运算,并完成测试要求:①.头文件btree.h中定原创 2015-11-06 09:01:26 · 991 阅读 · 2 评论 -
线性表(二)——单链表(3)——单链表应用举例(2)—— 删除元素最大的节点
/**Copyright (c) 2015 , 烟台大学计算机学院*All right resvered .*文件名称: 单链表的自建算法库.cpp*作 者: 郑兆涵*线性表(二)——单链表 (2)*/问题:删除元素最大的节点编程代码://头文件:linklist.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明 #ifndef L原创 2015-11-10 22:02:07 · 713 阅读 · 0 评论 -
树和二叉树——二叉树遍历的递归算法
/**Copyright (c) 2015 , 烟台大学计算机学院*All right resvered .*文件名称: 树和二叉树.cpp*作 者: 郑兆涵*树和二叉树————二叉树遍历的递归算法*/问题:实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。原创 2015-11-09 20:55:18 · 947 阅读 · 2 评论 -
我的开山之语!
问题及代码:/**Copyright (c) 2014 , 烟台大学计算机学院*All right resvered .*文件名称: test.cpp*作 者: 郑兆涵*完成日期: 2015年9月7日*版 本 号: v1.0**问题描述: 输出我的名言警句! *程序输出: 德玛西亚!人在塔在!*/#includeusing namespac原创 2015-09-07 17:09:40 · 459 阅读 · 0 评论