自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

数据结构学习心得

学习数据结构过程中亲敲源码,留作记录和大家讨论

  • 博客(25)
  • 资源 (4)
  • 收藏
  • 关注

原创 数据结构之哈夫曼树的实现

1、Huffman(哈夫曼)树的一些基本概念1、1哈夫曼树的定义最简哈夫曼树是一种数据结构,是由德国数学家冯·哈夫曼发现的,又称最优二叉树,是一种带权路径长最短的树。所以Huffman树是一种二叉树。1、2哈夫曼树的经典应用哈夫曼树最经典的应用时在通信领域的哈夫曼编码上面。经哈夫曼编码的信息消除了冗余的数据,加提高了通信信道的传输效率,目前,Huffman编码计数还是数据压缩的重要...

2019-03-21 16:35:49 3909

原创 数据结构在之-最小堆的生成算法(下滑调整与上滑调整采用递归算法)

1、堆的概念数据集合如果有序,将为各种操作带来遍历。但是有些应用并不要求数据全部有序,或者在操作开始前就完全有序。在许多应用中,通常需要先收集一部分数据,从中挑选出具有最小或者最大关键码的记录开始处理,接着,可能会收集更多数据,并处理当前数据集中具有最小或最大关键码的记录。对于这类应用,我们期望的数据结构应能支持插入操作,并能方便的从中取出最小或者最大关键码的记录,这样的数据结构即为优先级队列...

2019-03-20 19:37:16 1505

原创 大数运算(加减乘)

废话不多说直接上代码,我觉得看代码应该都能看懂!//利用数组实现大数相加void bdadd(string strnum1, string strnum2, string& restult) { int len1 = strnum1.length(); int len2 = strnum2.length(); int len3 = (len1 > len2 ? len1...

2019-03-16 22:01:19 417

原创 数据结构之-字符串重载函数的实现

1、AString.h文件#pragma once#include<iostream>const int defaultSize = 128;class AString { //对象-一个或者多个字符的一个有限序列public: //构造函数,构造一个最大长度为sz的字符串 AString(int sz = defaultSize); //构造函数,由一个已有的字...

2019-03-03 15:25:19 1194

原创 数据结构之-链式栈及其常见应用(进制转换、括号匹配、行编辑程序、表达式求值等)

1、栈的概念栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。总的来说就是LIFO(Last In First Out);...

2018-12-31 16:38:44 1173

原创 数据结构之利用单链表实现集合的交并运算

/**Copyright© 中国地质大学(武汉) 信息工程学院*All right reserved.**文件名称:linkedList.h*摘 要:利用单链表实现集合的交并运算**当前版本:1.0*作 者:邵玉胜*完成日期:2018-12-27*/#ifndef LINKLIST_H_#define LINKLIST_H_#include<...

2018-12-27 16:20:23 2846

原创 C++之函数作为另一个函数的参数

要点:1、C++函数作为另外一个函数的参数实际上传递的是函数的地址(函数指针);2、在传递实参的时候直接使用函数名即可,形参中的变量是函数指针变量,实参传递的函数名就是函数指针(虽然有点绕口,但是细细品味,可以理解的);3、关于函数名与函数指针,这篇文章里面介绍的比较清除:函数名与函数指针其他的废话就不多说了,直接上代码:代码#include<iostream&...

2018-12-26 20:31:56 5698

原创 C++随机数的产生

1 随机数介绍     计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。)    在C++中,rand()函数用来产生随机数,但是值得注意的是,rand()函数产生的随机数是一个伪随机数,是根据一个数...

2018-06-30 21:54:34 372

原创 排序算法之折半插入排序

1. 折半插入排序基本概念      折半插入排序又称二分法插入排序,是插入排序的一种,其基本思想是:设在数据表中有一个元素序列V[0],V[1],…,V[n-1]。其中V[0],V[1],…,V[i-1]是已经排好序的元素。在插入V[i]时,利用折半搜索方法寻找V[i]的位置。2. 折半插入排序算法、...

2018-05-17 18:13:37 5794 2

原创 排序算法之直接插入排序

1. 插入排序概念        插入排序的基本方法是:每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。        可以选择不同的方法在已经排好序数据表中寻找插入位置。根据查找方法不同,有多种插入排序方法,下面要介绍的是直接插入排序。2. 直接插入排序基本思想      直接插入插排的基本思想是:当插入第i(i >= 1)时...

2018-05-14 21:00:23 83476 8

原创 排序算法之起泡排序(冒泡排序)

1. 起泡排序算法的原理 起泡排序是交换排序的一种,其基本方法是:设待排序元素列中元素的个数为n,首先比较下标为n-2和n-1个元素,如果发生逆序(及前一个大于后一个),则将这两个元素交换;然后对下标为n-3和n-2的元素做同样的处理;重复此过程直到处理完下标为0和1的元素。这称之为一趟起泡,结果将最小的元素交换到待排序元素序列的第一个位置,其他元素也都向最终排序的方向移动。当然在...

2018-05-09 22:35:51 34205 5

原创 数据结构之稀疏矩阵的三元组表示(CSparseMatrix )源代码

CSparseMatrix.h文件/**Copyright? 中国地质大学(武汉) 信息工程学院*All right reserved.**文件名称:CSparseMatrix.h*摘 要:用三元组实现稀疏矩阵的表示及运算**当前版本:1.0*作 者:———*完成日期:2018-04-29*/#pragma once#ifndef CSPARSEM...

2018-05-02 22:50:46 2329

原创 数据结构之链式双端队列(CLinkedDeQue)源代码

CLinkedDeQue.h文件#pragma once/**Copyright? 中国地质大学(武汉) 信息工程学院*All right reserved.**文件名称:CLinkedDeQue.h*摘 要:链式双端队列的定义及实现**当前版本:1.0*作 者:邵玉胜*完成日期:2018-04*/#ifndef CLINKEDDEQUE#define...

2018-04-29 18:21:36 298

原创 数据结构之链式栈(LinkedQueue)源代码

CLinkedNode.h文件#pragma once/**Copyright? 中国地质大学(武汉) 信息工程学院*All right reserved.**文件名称:CPolynomial.h*摘 要:利用链表结构完成多项式的表示及其运算**当前版本:1.0*作 者:邵玉胜*完成日期:2018-04-16*/#ifndef CLINKEDQUEUE...

2018-04-27 21:27:19 317

原创 数据结构之链表的应用之一—多项式及其运算

CPolynomial.h文件#pragma once/**Copyright© 中国地质大学(武汉) 信息工程学院*All right reserved.**文件名称:CPolynomial.h*摘 要:利用链表结构完成多项式的表示及其运算**当前版本:1.0*作 者:邵玉胜*完成日期:2018-04-16*///多项式的类定义#ifndef PO...

2018-04-26 17:04:38 813

原创 数据结构之图的邻接表表示(GraphLink)源文件

GraphLink.h文件/**Copyright 中国地质大学(武汉) 信息工程学院*All right reserved.**文件名称:GraphLink.h*摘 要:实现图的邻接表表示-有向图**当前版本:1.0*作 者:邵玉胜*完成日期:2018-04-11*/#pragma once#include<iostream>#in...

2018-04-11 21:23:07 874

原创 数据结构之图(Graph)的邻接矩阵表示的源代码

Graph.h文件/**Copyright© 中国地质大学(武汉) 信息工程学院*All right reserved.**文件名称:Graph.h*摘 要:图的邻接矩阵表示法的实现**当前版本:1.0*作 者:邵玉胜*完成日期:2018-04-07*/#pragma once#include<iostream>#include&lt...

2018-04-07 15:55:30 1480

原创 数据结构之最大堆(MaxHeap)源代码

MaxHeap.h文件#pragma once#include<iostream>using namespace std;//enum bool{true, false};#define defaultSize 100template<class T>class MaxHeap {public: MaxHeap(int sz = defaultSize); ...

2018-04-02 16:03:33 1366 1

原创 数据结构之最小堆(MinHeap)源代码

MinHeap.h文件源码#pragma once#include<iostream>using namespace std;//enum bool{true, false};#define defaultSize 100template<class T>class MinHeap {public: MinHeap(int sz = defaultSize)...

2018-04-01 10:20:42 3417

原创 数据结构之链表二叉树(LinckedBinaryTree)源代码

BinaryTree.h源文件#pragma once#include<iostream>using namespace std;template<class T>struct BinTreeNode //二叉树结点类定义{ T _data; ...

2018-03-28 11:28:44 626

原创 数据结构之循环队列(SeqQueue)源码

SeqQueue.h文件#pragma once#include<assert.h>#include<iostream>#define defaultSize 20template<class T>class SeqQueue {public: SeqQueue(int sz = defaultSize); //默认构造函数,构建一...

2018-03-16 21:29:50 2866

原创 数据结构之链式栈(LinkedStack)源码

LinkedStack.h源码#pragma once#include<iostream>using namespace std;template<class T>struct LinkedNode //结点结构体定义{ T _data; //数据域 LinkedNode<T>...

2018-03-12 19:39:25 514

原创 数据结构之单链表(SglLinkedList)源码

SglLinkedList.h文件#pragma once/**Copyright© 中国地质大学(武汉) 信息工程学院*All right reserved.**文件名称:SysLog.h*摘 要:实现系统登陆功能**当前版本:1.0*作 者:邵玉胜*完成日期:2018-03-09*/#include<iostream>using ...

2018-03-11 13:48:53 290

原创 数据结构之顺序表(SeqList)源代码

Arraylist.h文件#pragma once#include<iostream>using namespace std;//连续存储的线性结构:用数组表示#define defaultSize 100template<class T>class ArrayList { //typedef ArrayList<T> _Ty;private...

2018-03-08 13:44:04 3867

原创 类模板的声明与实现要在同一个文件中

       最近在学数据结构的一些东西,编写顺序表的时候遇到了一个问题,困扰良久,就是类模板声明与实现的问题。笔者开始是根据书上的步骤来敲代码,可是在编译的时候确出现了问题,检查了很多遍,发现自己写的和书上的一个标点符号都没有错,后来在网上大神的帮助下解决了这个问题,现在就和大家分享一下我的经验,直接上代码:.h文件://顺序表的类声明#define defaultSize 100templ...

2018-03-07 17:45:08 3691 3

Oracle从入门到精通-适合新手.zip

这本 《Oracle经典教程》 这本书中,我们能学习到:  Oracle 的安装  Oracle 数据管理  常用子查询及常用函数  PL/SQL 编程  Oracle 基本管理

2019-07-11

MFC计算器(利用栈实现)

程序是使用MFC实现计算器的功能,能进行的运算由加减乘除、指数运算、开方运算等,支持连续输入,栈是自己编写的,是初学数据结构于MFC很好的例子。

2018-12-31

基于Android的测绘水准网平差软件(附使用说明)

该软件是用于测绘水准网平差的一款基于Andrioid开发的一款软件,有蓝牙传输数据模块,我将整个工程文件打包,里面包含了完整的代码,有需要的(特别是毕业设计)的人员可以下载。

2018-03-07

测绘网平差

该资源是用C++编写的测绘网平差的源代码,为设计界面,其中包含三个工程文件,分别用来解决水准网平差,水平网平差及GPS网平差等,可以供相关专业的同学进行参考学习

2017-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除