数据结构学习系列
敏捷1234
团队就是让在技能上互补的人相互合作。
展开
-
数据结构学习二:栈
栈 限制插入和删除操作只能在一个位置上进行的表。对栈的基本操作有Push(进栈)和Pop(出栈),前者相当于插入,后者则是删除。栈也叫作先进后出表。本文使用链表实现栈。#pragma once/** 链表类型声明*/struct Node{ int Data; Node* Next;};#pragma once#include "node.h"/** 栈定义原创 2016-12-11 19:06:04 · 1444 阅读 · 0 评论 -
数据结构学习一:链表
一、数据结构的基础1)链表常见的定义链表由一系列不必在内存相连的项组成。每个项包含数据域和指向该项的后继项的指针。ps:指针简单理解为地址,通过指针可以获取到地址的内存单元,使用指针来读取数据。C++标准规定,指针分为两类:object pointer type:指向void或对象类型,表示对象在内存中的字节地址或空指针。function point原创 2016-12-01 23:09:28 · 2060 阅读 · 0 评论 -
数据结构学习三:队列
队列 队列的基本操作有1,:Enqueue(入队),它是在表的末端即队尾rear插入一个元素;2:Dequeue(出队),它是删除在表头即队头(front)的元素。#pragma once#include"node.h"class MyQueue{private: Node* m_Head; Node* m_Front; Node* m_Rear;public:原创 2016-12-12 22:41:00 · 1797 阅读 · 0 评论 -
数据结构学习四:树
背景 对于大量的数据,链表的线性访问时间太慢(O(n);当数据太大时不宜使用。因此出现了新的数据结构,树。树的大部分操作的运行时间平均为O(logN)。定义 树的定义比较自然的方式是使用递归的方法。一棵树是一些节点的集合。这个集合可以为空,若非空,则一棵树由根(root)的节点以及0个或多个非空的子树T1,T2,T3...Tk组成,这些子树中每一棵树的根都原创 2017-02-09 22:35:35 · 341 阅读 · 0 评论 -
数据结构学习五:二叉树
二叉树 二叉树是一棵树,其中每个节点的孩子最多为2个。性质:平均二叉树的深度要比节点数N小得多,对于特殊类型的二叉树,即二叉查找树其深度的平均值是O(logN)。实现 因为二叉树最多有两个孩子,所以可以定义两个指针指向他们。二叉树的声明在结构上类似于双链表的声明。定义如下/** 二叉树声明*/struct TreeNode{ int Da原创 2017-02-13 22:16:26 · 312 阅读 · 0 评论