数据结构
文章平均质量分 81
Lynn-Zhang
...
展开
-
C语言实现单链表
链表结构:650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/7E/D6/wKiom1cJ9Qqh3PaNAAANce2FK0A214.png" title="QQ图片20160410143950.png" alt="wKiom1cJ9Qqh3PaNAAANce2FK0A214.png" />SList.h#pragma once原创 2016-06-05 10:13:55 · 304 阅读 · 0 评论 -
Maze迷宫问题(最优解)
迷宫地形我们可以通过读文件的形式,通过已知入口逐个遍历坐标寻找通路。文件如图:650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/13/wKiom1cSCnTB8pO4AAAZiAM5LuE146.png" title="QQ图片20160416174705.png" alt="wKiom1cSCnTB8pO4AAAZiAM5L原创 2016-06-05 10:14:07 · 1451 阅读 · 0 评论 -
稀疏矩阵的压缩存储及转置
没有经过处理的稀疏矩阵其实就是一个特殊的二维数组,数组中的大部分元素是0或者其他类型的非法值,只有少数几个非零元素。 为了实现压缩存储,可以只存储稀疏矩阵的非0元素。在存储稀疏矩阵中的非0元素时,必须要存储该元素的行列号以及元素值。我们可以封装一个三元组类来存储这些元素。//三元组templatestruct Triple{ size_t _row; //行 size_t _co原创 2016-06-05 10:14:04 · 832 阅读 · 0 评论 -
对称矩阵及对称矩阵的压缩存储
设一个N*N的方阵A,A中任意元素A[i][j],当且仅当A[i][j] == A[j][i](0 && 0 ),则矩阵A是对称矩阵。以矩阵的对角线为分隔,分为上三角和下三角。650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/7E/ED/wKiom1cMz5zzQr_rAAAb3l_RgBs093.png" title="QQ图原创 2016-06-05 10:13:58 · 524 阅读 · 0 评论 -
B-树 C++模板类封装
定义:一棵m阶B-树是拥有以下性质的多路查找树:1、非叶子结点的根结点至少拥有两棵子树;2、每一个非根且非叶子的结点含有k-1个关键字以及k个子树,其中⌈m/2⌉≤k≤m;3、每一个叶子结点都具有k-1个关键字,其中⌈m/2⌉≤k≤m;4、key[i]和key[i+1]之间的孩子节点的值介于key[i]、key[i+1]之间5、所有的叶子结点都在同一层。ps: ⌈m/2原创 2016-06-24 12:49:41 · 795 阅读 · 3 评论 -
C++实现动态顺序表
#define _CRT_SECURE_NO_WARNINGS 1#includeusing namespace std;#includetypedef int DataType;class SeqList{public: SeqList() :_array(NULL ) ,原创 2016-06-05 10:13:08 · 249 阅读 · 0 评论 -
C++实现单链表
单链表的结构有多种这里介绍的链表有头结点、有尾节点并且尾节点指向头结点650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/7D/AD/wKioL1btPpKSlsBmAAAKFtUh58k849.png" title="QQ图片20160319195210.png" alt="wKioL1btPpKSlsBmAAAKFtUh58k84原创 2016-06-05 10:13:12 · 250 阅读 · 0 评论 -
分离编译
分离式编译是指一个完整的程序或项目由若干个源文件共同实现,每个源文件单独编译生成目标文件,最后将该项目中的所有目标文件连接成一个单一的可执行文件的过程。 每个.cpp源文件经过预处理,它所包含的.h文件的代码都会被展开到其中。再经过编译器的编译汇编等过程,将该.cpp文件转变为.obj文件,这是此文件已经变为二进制文件,本身包含的就是二进制代码。这时,该文件还不一定能够执行,因为并不保证其中原创 2016-06-05 10:13:52 · 391 阅读 · 0 评论 -
模板实现动态顺序表
定义类模板时,成员函数可以定义在类内部,也可以在类模板外定义。 此时成员函数中若有类型参数存在,则需注意: (1)要在成员函数定义之前进行模板声明。 (2)在成员函数名前加上“ 类名 ”#define _CRT_SECURE_NO_WARNINGS 1#includeusing namespace std;#in原创 2016-06-05 10:13:43 · 254 阅读 · 0 评论 -
C++实现双向链表
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7D/BD/wKiom1busnuAA28CAAAKTYkUuD4299.png" title="QQ图片20160320222427.png" alt="wKioL1busLOTWsqhAAAI3EcuKqo751.png" />List.h////////////////////原创 2016-06-05 10:13:14 · 303 阅读 · 0 评论 -
模板实现单链表
由于类模板不支持分离编译,我们可以将模板类成员函数的声明和定义放在一个.hpp的文件中650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/7E/63/wKioL1b-DTfhVzcnAAAKFtUh58k269.png" title="QQ图片20160319195210.png" alt="wKioL1b-DTfhVzcnAAAKF原创 2016-06-05 10:13:46 · 267 阅读 · 0 评论 -
广义表
广义表是非线性结构,其定义是递归的。以下给出几种简单的广义表模型:650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/7F/22/wKioL1cU06LDp3cZAAAGadRgppI798.png" style="float:none;" title="QQ图片20160418202025.png" alt="wKioL1cU06L原创 2016-06-05 10:14:09 · 776 阅读 · 0 评论