数据结构
文章平均质量分 86
DXnima
C语言数据结构 C# GIS AE 编程源码以及GIS相关技术供大家学习
展开
-
平衡二叉树及其操作实现
[问题描述]实现平衡二叉排序树的创建、插入、删除、查询操作,并求出所构建平衡二叉排序树的平均查找长度ASL。[基本要求](1)以二叉链表作为平衡二叉树的存储结构;(2)输入一个关键字序列,建立对应的平衡二叉树;(3)向平衡二叉树中插入一个结点(关键字);(4)从平衡二叉树中删除一个结点(关键字);(5)计算平衡二叉树的平均查找长度;(6)销毁平衡二叉树。...原创 2018-01-11 23:39:50 · 3019 阅读 · 2 评论 -
C语言----实现有向图/无向图的创建与基本操作(深度、广度优先遍历)
以邻接矩阵作为存储结构实现图的创建与基本操作:typedef int Status;typedef int VRType;typedef char InfoType;typedef char VertexType;/*①图的邻接矩阵存储结构定义*/typedef struct ArcCell{//VRType是顶点的关系类型,对无权图用1或0表示是否相邻原创 2017-12-30 10:48:04 · 16048 阅读 · 8 评论 -
链队列C语言实现
部分链队列C语言实现代码如下:/*①链队列的定义*///定义链队列结点typedef struct QNode{QElemType data;struct QNode *next;}QNode,*QueuePtr; //队列结构定义typedef struct LQueue{QueuePtr front; //队头QueuePtr原创 2017-12-29 23:10:01 · 1937 阅读 · 0 评论 -
二叉树的遍历(先序、中序、后序和层次遍历)
采用二叉链表结构实现二叉树,并以递归遍历思想实现二叉树的创建、二叉树的遍历(先序、中序、后序和层次遍历)、二叉树叶子节点统计、二叉树深度统计的算法;同时,结合课件和实例代码,实现二叉树的中序非递归遍历算法。存储结构和操作接口定义如下:/*①二叉树的二叉链表存储结构定义*/typedef struct BiTNode{ElemType data;struct BiTNode *l原创 2017-12-29 23:15:45 · 36311 阅读 · 29 评论 -
建立线索二叉链表结构,实现二叉树的中序线索化及中序线索二叉树的遍历算法
建立线索二叉链表结构,实现二叉树的中序线索化及中序线索二叉树的遍历算法。#include#include#define OK 1#define ERROR 0#define OVERFLOW -1typedef int Status;typedef char ElemType;typedef enum PointerTag {Link, Thread};//Li原创 2017-12-30 10:30:18 · 5271 阅读 · 0 评论 -
基于单链表实现一元n次多项式的创建、输出和求和操作
在主函数中调用函数CreatePolyn ()函数创建两个多项式:2 + 3X + 5X3 + 2X4 3 + 2X + 4X2 然后调用函数AddPolyn求它们的和,最后打印出求和后的结果。提示:/*①多项式数据结构定义*/typedef struct pnode{ float coef; //系数 int原创 2017-12-29 22:47:10 · 7182 阅读 · 3 评论 -
复数数据结构的定义和实现
(1)复数抽象数据类型描述:ADT Complex{数据对象:D = {c1, c2 | c1, c2 Î R(R为实数集)}数据关系:S = { ( c1为实部,c2为虚部)}基本操作:Assign(&A, c1, c2)Add(&A, B)Minus(&A, B)Multiply(&A, B)Divide(&A, B)...}ADT Compl原创 2017-12-29 22:17:20 · 9751 阅读 · 6 评论 -
对顺序表中元素从小到大排序的算法
)编写一个对顺序表中元素从小到大排序的算法,函数接口如下://初始条件:线性表L已经存在,且元素个数大于1//操作结果:将L中的元素从小到大排序Status ListSort_Sq(SqList &L);然后,在main函数中调用ListSort_Sq函数,对之前创建的顺序表进行排序。实现两个有序顺序表的合并操作。然后在主函数中再创建一个顺序表实例,输入5个元素,并原创 2017-12-29 22:37:21 · 15493 阅读 · 3 评论 -
单链表及其基本操作的实现
请在以下给出的部分源程序基础上补全代码,完成单链表的C语言程序。然后再主函数通过调用单链表的操作中完成一下任务:首先定义一个单链表实例(变量),并初始化,采用尾插法向其中录入10个整数(ElemType为int类型);然后,在第5个结点处插入一个新结点(值为5),再把第8个结点删除;最后打印出所有元素。/*①单链表数据结构定义*///结点定义typedef struct LNode原创 2017-12-29 22:43:02 · 4773 阅读 · 0 评论 -
内部排序算法的性能分析
[问题描述]教科书第10章中,介绍了多种排序算法,并从理论角度对各种算法的时间复杂度进行了分析。依据书中的理论知识,设计一个排序算法比较程序,试比较几种内部排序算法的关键字比较次数和移动次数(关键字交换视为3次移动),以得到对各种排序算法执行效率的直观感受。[基本要求](1)以顺序表作为待排序表的存储结构,其中表长(即关键字个数)不小于100,表中数据随机产生,至少用5组不同数据作比较...原创 2017-12-30 11:13:00 · 3742 阅读 · 5 评论 -
基于单链表的班级通讯录
[问题描述]将全班同学的通讯信息存入一个单链表。元素中的通讯信息包括每一位同学的:学号、姓名、性别、宿舍、联系电话等。要求能够利用姓名和序号进行有关查找、插入、删除等操作。[基本要求](1)将本班的通讯信息输入文本文件“student_info.txt”中,读取该文件,将其中的通讯录信息存入一个单链表中;(2)给定一个姓名,返回其通讯信息;(3)给定一个序号,返回其通讯信息;...原创 2018-01-03 19:59:09 · 5569 阅读 · 38 评论 -
表达式求解问题(运用栈)
问题描述]表达式求解是实现程序设计的基本问题之一,也是栈的应用的一个典型例子。设计一个程序用算符优先法求解表达式的值。[基本要求]以字符序列的形式从键盘输入语法正确的、不含变量的整数表达式,利用教科书表3.1给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教科书的例3-1演示在求值过程中运算符栈、运算数栈、输入字符和主要操作的变化过程。[实现提示](1)设置运...原创 2018-01-03 19:48:57 · 5439 阅读 · 3 评论 -
机器调度问题
[问题描述]有m台机器处理n个作业,设作业i的处理时间为ti,则对n个作业进行机器分配,设计算法进行合理调度,使得m台机器上处理n个作业所需要的总时间最短。[基本要求](1)一台机器同一时刻只能处理一个作业;(2)一个作业不能同时在两台机器上处理;(3)作业i一旦运行,需要连续ti个时间单位。[实现提示](1)这是一个多机器调度最优解问题。输入:n个不同处理时间的作业...原创 2018-01-11 23:53:56 · 5815 阅读 · 2 评论 -
最小生成树问题
[问题描述]若要在n个城市间建立通信联络网,只需要n-1条线路即可。如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。[基本要求](1)利用图雷姆或克鲁斯卡尔算法求网的最小生成树;(2)以文本形式输出生成树的各条边及其权值。[实现提示](1)通信线路一旦建立起来一定是双向的,因此构造最小生成树的网一定是无向网;(2)n个城市间,最多可设置n...原创 2018-01-11 23:49:08 · 3563 阅读 · 7 评论 -
C#--二进制文件读写
二进制文件读写 二进制文件读写主要通过BinaryWrite和BinaryReader类来实现的。创建一个windows应用窗体,添加一个SaveFileDialog控件,OpenFileDialog控件,Text Box控件,两个Button控件。需要添加的指令:using System.IO;窗体设计部分:代码:using System;using System...原创 2018-05-09 22:53:43 · 5759 阅读 · 4 评论