
数据结构
文章平均质量分 75
HelloWorld.z
打怪升级
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构课程总结
本学期尝试了一种新的教学方式——翻转课堂。这种先学后做的方式更加有效率,在贺老师的教导下也有不小进步,也是第一次在优快云上写博客,打开了又一扇大门,认识到网络是一种工具,一种媒介。学期末了,对本学期数据结构的学习进行一下总结,如下:Objective:从数据的逻辑结构来讲,主要包括线性结构和非线性结构,其中线性结构又包含线性表、栈、队列、串、数组,非线性结构包含树和图。从存储结构来讲原创 2017-12-14 16:19:04 · 389 阅读 · 0 评论 -
数据结构第十三周项目1--验证算法
/* *Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *版 本 号:v1.0 *问题描述:验证算法*/ 1、认真阅读并验证折半查找算法。请用有序表{12,18,24,35,47,50,62,83,90,115,134}作为测试序列,分别对查找90、47、100进行测试。 (1)折半查找#i原创 2017-11-30 10:36:55 · 274 阅读 · 0 评论 -
数据结构第十一周项目5--迷宫问题之图深度优先遍历解法
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*/设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题。 (1)建立迷宫对应的图数据结构,并建立其邻接表表示。 (2)采用深度优先遍历的思路设计算法,输出从入口(1,1)点到出口(M,N)的所有迷宫路径。#i原创 2017-11-14 19:03:46 · 465 阅读 · 0 评论 -
数据结构第五周项目2--建立链栈算法库
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:自建算法库—-链栈*/1.头文件:listack.h,包含定义链栈数据结构的代码、宏定义、要实现算法的函数的声明#ifndef LISTACK_H_INCLUDED#define LISTACK_H_INCLUDED原创 2017-11-05 13:08:24 · 332 阅读 · 0 评论 -
数据结构第五周项目1--建立顺序栈算法库
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:自建算法库——顺序栈*/1.头文件:sqstack.h,包含定义顺序栈数据结构的代码、宏定义、要实现算法的函数的声明#define MaxSize 100typedef char ElemType;typedef原创 2017-11-05 12:52:20 · 244 阅读 · 0 评论 -
数据结构第四周项目2--建设“单链表”算法库
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*/ 头文件:linklist.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明:#ifndef LINKLIST_H_INCLUDED#define LINKLIST_H_INCLUDEDtypedef i原创 2017-11-04 18:27:18 · 251 阅读 · 0 评论 -
数据结构第四周项目1--建立单链表
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*问题描述:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果。*/#include #include typedef int ElemType;typedef struct LNode //原创 2017-11-04 18:06:22 · 261 阅读 · 0 评论 -
数据结构第十一周项目2--操作用邻接表存储的图
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*/假设图G采用邻接表存储,分别设计实现以下要求的算法: (1)输出出图G中每个顶点的出度; (2)求出图G中出度最大的一个顶点,输出该顶点编号; (3)计算图G中出度为0的顶点数; (4)判断图G中是否存在边i,j原创 2017-11-12 16:25:28 · 372 阅读 · 0 评论 -
数据结构第十一周项目1--图基本算法库
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*问题描述:定义图的邻接矩阵和邻接表存储结构,实现其基本运算,并完成测试。 */图的存储结构主要包括邻接矩阵和邻接表,本算法库提供存储结构的定义,以及用于构造图存储结构、不同结构的转换及显示的代码。1.头文件:graph.h原创 2017-11-12 16:17:59 · 314 阅读 · 0 评论 -
数据结构第五周项目4--数值转换
/* *Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *版 本 号:v1.0 问题描述:把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。 提示:要转换为r进制,则原来的数逐次除以基数r(除完之后用商再除),直到商为0, 得到的一系列余原创 2017-11-30 11:12:23 · 424 阅读 · 0 评论 -
数据结构第五周项目5--后缀表达式
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:利用sqstack.h中栈的基本运算,实现将一个中缀表达式转换为对应的后缀表达式的算法。 例如,输入(56-20)/(4+2),输出后缀表达式::56#20#-4#2#+/要求在数字后加# */#incl原创 2017-11-30 11:16:28 · 330 阅读 · 0 评论 -
数据结构第四周项目3--单链表应用
/* *Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *版 本 号:v1.0 *问题描述:单链表:逆置、连接与递增判断*/ 1、设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算原创 2017-11-16 10:52:42 · 278 阅读 · 0 评论 -
数据结构课程设计-------学生信息管理系统
1、头文件:stu.h/**************************************************版权所有 (C)2017.LiZhe**文件名称:stu.h*文件标识:无*内容摘要:头文件,包含所用函数的定义等*其他说明:无*当前版本:V1.0*作 者:李哲*完成时间:20171121**修改记录1:*修改时间:20171119*版本原创 2017-12-21 15:02:24 · 2228 阅读 · 2 评论 -
数据结构第十三周项目3--是否二叉排序树?
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*问题描述:设计一个算法,判断给定的二叉树是否是二叉排序树。*/#include #include #define MaxSize 100typedef int KeyType; //定义原创 2017-11-23 11:14:40 · 252 阅读 · 0 评论 -
数据结构第十三周项目2--二叉树排序树中查找的路径
/* *Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *版 本 号:v1.0 *问题描述:设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。 */ #include #include #define MaxSize 100typedef int KeyTy原创 2017-11-23 11:00:47 · 259 阅读 · 0 评论 -
数据结构第十二周项目--验证算法
/* *Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *版 本 号:v1.0 *问题描述:验证算法 */ (1)Prim算法的验证#include #include #include "graph.h"void Prim(MGraph g,int v){ int l原创 2017-11-23 10:52:32 · 360 阅读 · 0 评论 -
数据结构第五周项目3--括号的匹配
/* *Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *版 本 号:v1.0 *问题描述:假设表达式中允许三种括号:圆括号、方括号和大括号。编写一个算法,判断表达式中的各种左括号是否与右括号匹配。 例如,输入2+(3+4)*2+{[3]}-8,输出匹配正确;输入2+(3+4*[2)原创 2017-11-16 11:20:04 · 267 阅读 · 0 评论 -
数据结构第四周项目5--猴子选大王
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*/1、设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成测试。原创 2017-11-05 12:42:59 · 390 阅读 · 0 评论 -
数据结构第四周项目4--建设双链表算法库
/* *Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *版 本 号:v1.0 *问题描述:自建算法库——双链表 */ 1.头文件:dlinklist.h,包含定义双链表数据结构的代码、宏定义、要实现算法的函数的声明#ifndef DLINKLIST_H_INCLUDED#def原创 2017-11-16 11:05:23 · 269 阅读 · 0 评论 -
数据结构第十一周项目3--图遍历算法实现
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*/实现图遍历算法,分别输出如下图结构的深度优先(DFS)遍历序列和广度优先遍历(BFS)序列。 1、深度优先遍历——DFS#include #include #include "graph.h"int v原创 2017-11-14 19:03:19 · 278 阅读 · 0 评论 -
数据结构第十周项目2--用二叉树求解代数表达式
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*问题描述:用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符, 每一个叶子节点代表一个运算数(为简化,只支持二目运算的+、-、*、/,不加括号, 运算数也只是一位的数字字符。本项目只考虑输入合乎以原创 2017-11-12 16:05:30 · 583 阅读 · 0 评论 -
数据结构第十周项目1--二叉树算法验证
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0*/1)层次遍历算法的验证:实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 #include #include "btree.h"voi原创 2017-11-12 16:00:03 · 339 阅读 · 0 评论 -
数据结构第九周项目3--利用二叉树遍历思想解决问题
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试: (1)计算二叉树节点个数; (2)输出所有叶子节点; (3)求二叉树b的叶子节点个数 (4)设计一个算法Level(b,x,h),原创 2017-11-12 15:47:13 · 234 阅读 · 0 评论 -
数据结构第三周项目3--求集合并集
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:fd.cpp*作 者:李哲*完成日期:2017年9月20日*版 本 号:v1.0*问题描述:假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示, 即线性表中的数据元素即为集合中的成员。 设计算法,用原创 2017-09-21 19:43:26 · 739 阅读 · 0 评论 -
数据结构第三周项目2-- 建设“顺序表”算法库
/**Copyright(c)?2017,烟台大学计算机与控制工程学院*All right sreserved.*文件名称:222.cp*作 者:李哲*完成日期:2017年9月20日*版 本 号:v1.0*问题描述:建立顺序表的算法库。*/算法库包括两个文件: 头文件:list.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明; 原创 2017-09-21 19:26:00 · 386 阅读 · 0 评论 -
数据结构第三周项目1--顺序表的基本运算
/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:fd.cpp *作 者:李哲 *完成日期:2017年9月20日 *版 本 号:v1.0 *问题描述:实现顺序表基本运算有算法,依据“最小化”的原则进行测试。 所谓最小化原则,指的是原创 2017-09-21 11:07:58 · 344 阅读 · 0 评论 -
数据结构第二周项目3(1)--体验复杂度之两种排序算法的运行时间
/**Copyright (c) 2017,烟台大学计算机学院*All rights reserved.*作 者:李哲*完成时间:2017年9月13日*问题描述:两种排序算法的运行时间,排序是计算机科学中的一个基本问题,产生了很多种适合不同情况下适用的算法, 也一直作为算法研究的热点。本项目提供两种排序算法,复杂度为O(n2)的选择排序selectsort,原创 2017-09-13 21:46:23 · 402 阅读 · 0 评论 -
数据结构第二周项目3(2)--体验复杂度之汉诺塔
/**Copyright (c) 2017,烟台大学计算机学院*All rights reserved.*作 者:李哲*完成时间:2017年9月13日*问题描述:用递归算法求解汉诺塔问题,其复杂度可以求得为O(2n), 是指数级的算法。请到课程主页下载程序运行一下, 体验盘子数discCount为4、8、16、20、24时在时间耗费上的差原创 2017-09-13 21:58:40 · 280 阅读 · 0 评论 -
数据结构第二周项目2--程序的多文件组织
/**Copyright (c)?2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*完成日期:2017年9月9日*版 本 号:v1.0*?最简单的多文件组织,一个项目中有3个文件: (1).h 头文件:定义数据类型、声明自定义函数、定义宏等 (2).cpp 源文件1:用于实现头文件中声明的自定义函数 (3).cpp 源文件原创 2017-09-13 21:30:44 · 360 阅读 · 0 评论 -
数据结构第二周项目1--C/C++语言中函数传递的三种方式之方法三引用作形参
/**Copyright (c) 2017,烟台大学计算机学院*All rights reserved.*文件名称:cpp1.cpp*作 者:李哲*完成时间:2017年9月7日**问题描述:输入两个整数a和b,交换a和b的数值*输入描述:两个整数*程序输出:交换后的两个整数*/#include void myswap(int &x,int &y){int t;t原创 2017-09-09 22:44:31 · 375 阅读 · 0 评论 -
数据结构第二周项目1--C/C++语言中函数传递的三种方式之方法二传地址
/**Copyright (c) 2017,烟台大学计算机学院*All rights reserved.*文件名称:cpp1.cpp*作 者:李哲*完成时间:2017年9月7日**问题描述:输入两个整数a和b,交换a和b的数值*输入描述:两个整数*程序输出:交换后的两个整数*/#include void myswap(int *p1,int *p2){int t;原创 2017-09-09 22:39:14 · 309 阅读 · 0 评论 -
数据结构第三周项目4--顺序表应用
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:fd.cpp*作 者:李哲*完成日期:2017年9月20日*版 本 号:v1.0*问题描述:定义一个采用顺序结构存储的线性表,设计算法完成下面的工作: 1、删除元素在[x, y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1);原创 2017-09-21 19:46:53 · 265 阅读 · 0 评论 -
数据结构第七周项目1--建立顺序环形队列算法库
/**Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *完成日期:2017年10月12日 *版 本 号:v1.0 *问题描述:定义顺序环形队列存储结构,实现其基本运算,并完成测试。*/头文件sqqueue.h中定义数据结构并声明基本运算函数:#ifndef SQQUEUE_H_INCLUDED原创 2017-10-12 10:30:58 · 373 阅读 · 0 评论 -
数据结构第七周项目2--建立链队算法库
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*完成日期:2017年10月12日*版 本 号:v1.0*问题描述:定义链队存储结构,实现其基本运算,并完成测试。*/头文件:liqueue.h,包含定义链队数据结构的代码、宏定义、要实现算法的函数的声明:#ifndef LIQUEUE_H_IN原创 2017-10-12 11:04:19 · 334 阅读 · 0 评论 -
数据结构第九周项目2--二叉树遍历的递归算法
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 */#include #include "btree.h"voi原创 2017-11-12 14:24:17 · 303 阅读 · 0 评论 -
数据结构第九周项目1--二叉树算法库
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:定义二叉树的链式存储结构,实现其基本运算,并完成测试。 */1.头文件:btree.h,包含定义二叉树的链式存储数据结构的代码、宏定义、要实现算法的函数的声明#ifndef BTREE_H_INCLUDED#def原创 2017-11-12 14:19:18 · 257 阅读 · 0 评论 -
数据结果第八周项目4--稀疏矩阵的三元组表示的实现及应用
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:1)建立稀疏矩阵三元组表示的算法库,包括: ① 头文tup.h,定义数据类型,声明函数; ② 源文件tup.cpp,实现稀疏矩阵三元组表示的基本运算,主要算法包括:原创 2017-11-12 12:17:25 · 329 阅读 · 0 评论 -
数据结构第八周项目3--对称矩阵压缩存储的实现与应用
/* *Copyright(c)2017,烟台大学计算机与控制工程学院 *All rights reserved. *作 者:李哲 *版 本 号:v1.0 问题描述:(1)用压缩形式存储对称矩阵,实现下面的操作并测试 void Init(int *&b);//为N阶对称矩阵初始化存储数据的一维数组B int Value(int b[], in原创 2017-11-12 11:28:35 · 570 阅读 · 0 评论 -
数据结构第八周项目2--顺序串算法
/* *Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:采用顺序存储方式存储串,实现下列算法并测试: (1)试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符: void Trans(SqString *&s, char c1, c原创 2017-11-12 11:16:47 · 278 阅读 · 0 评论 -
数据结构第八周项目1--建立顺序串的算法库
/**Copyright(c)2017,烟台大学计算机与控制工程学院*All rights reserved.*作 者:李哲*版 本 号:v1.0问题描述:定义顺序串的存储结构,实现其基本运算,并完成测试。*/头文件.h:#ifndef SQSTRING_H_INCLUDED#define SQSTRING_H_INCLUDED#define MaxSize 10原创 2017-11-09 11:08:48 · 328 阅读 · 1 评论