数据结构
文章平均质量分 62
数据结构
Allen Roson
C++软件开发工程师
展开
-
数据结构——树和二叉树
1.树的定义树(Tree)是n(n>=0)个结点的有限集,它或为空树(n= 0); 或为非空树,对于非空树T:(1)有且仅有一个称之为根的结点;(2)除根结点以外的其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树, 并且称为根的子树(SubTree)。2.树的基本术语(1) 结点:树中的一个独立单元。包含一个数据元素及若于指向其子树的分支,如图5.1(b) 中的A 、B 、C 、D 等。(下面术语中均以图5.1 (..原创 2021-09-29 18:10:13 · 289 阅读 · 0 评论 -
数据结构学习笔记7——链式栈
1.链式栈实现源码#ifndef LINKSTACK_H#define LINKSTACK_H#define MAX_STACK_SIZE 100#include <iostream>using namespace std;template <typename T>class LinkStack{public: struct StackNode { StackNode *m_pNext; T m_value;原创 2021-08-24 20:21:36 · 157 阅读 · 0 评论 -
数据结构学习笔记6——顺序栈(stack)源码与测试代码
1.SeriationStack.h#ifndef SERIATIONSTACK_H #define SERIATIONSTACK_H#define MAX_STACK_SIZE 100template <typename T>class SeriationStack{public: SeriationStack(); ~SeriationStack(); //初始化 bool Init(); //入栈 bool Pus.原创 2021-08-24 16:47:46 · 305 阅读 · 0 评论 -
数据结构学习笔记5——双向链表(链表源码+测试源码)
1.DoubleLinkList.h#ifndef DOUBLELINKLIST_H#define DOUBLELINKLIST_H#include <iostream>using namespace std;typedef struct LNode{public: int m_iValue; LNode* m_pNext; LNode* m_pPre; LNode() { m_iValue = 0; .原创 2021-08-24 14:37:42 · 119 阅读 · 0 评论 -
数据结构学习笔记4——单链表(链表实现源码+功能测试源码)
1.数据存储结构typedef struct LNode{public: int m_iValue; LNode* m_pNext; LNode() { m_iValue = 0; m_pNext = NULL; } }LNode,*LinkList;2.封装数据的基本操作class MyList{public: MyList() { Init(); }原创 2021-08-23 20:05:43 · 167 阅读 · 0 评论 -
数据结构学习笔记3——链表(数组、单链表、双链表、循环链表)
定义:由n(n>=0)个数据特性相同的元素构成的有限序列称为线性表。线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表。对于非空的线性表或线性结构,其特点是:(1)存在唯一的一个被称作"第一个"的数据元素; (2)存在唯一的一个被称作"最后一个"的数据元素; (3)除第一个之外,结构中的每个数据元素均只有一个前驱; (4)除最后一个之外,结构中的每个数据元素均只有一个后继。顺序表的定义线性表的顺序表示指的是用一组地址连续的存储单元依次存储...原创 2021-08-23 15:36:51 · 1059 阅读 · 0 评论 -
数据结构学习笔记2——算法入门(定义、特性、标准、时间和空间复杂度)
目录1.数据结构与算法的关系2.算法的定义及特性3.评价算法优劣的基本标准4. 算法的时问复杂度4.1 问题规模和语句频度4.2 为什么要以语句的执行频度来计算时间复杂度4.3 算法的时间复杂度定义常数阶线性阶平方阶指数阶对数阶线性对数阶4.4 最好、最坏和平均时间复杂度5. 算法的控件复杂度1.数据结构与算法的关系数据结构与算法之间存在着本质联系,在某一类型数据结构上,总要涉及其上施加的运算,而只有通过对所定义运算的研究,..原创 2021-08-17 17:32:22 · 251 阅读 · 0 评论 -
数据结构学习笔记1——导论(研究方向、应用场景、概念、分类)
目录1.研究方向2.基本概念和术语3.数据结构3.1逻辑结构3.2 存储结构3.3数据类型和抽象数据类型1.研究方向计算机主要用千数值计算时, 一般要经过如下几个步骤:在此过程中寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间的关系,然后用数学语言加以描述,即建立相应的数学方程。例如:用计算机进行全球天气预报时,就需要求解一组球面坐标系下的二阶椭圆偏微分方程 预测人口增长情况的数学模型为常微分方程求解这些数学方程的算法是计...原创 2021-08-16 20:13:54 · 1464 阅读 · 2 评论