经过数据结构(二)系列文章,已经把线性结构中最常用的数据结构进行了介绍,包括顺序存储结构中顺序表、顺序队列和顺序栈,链式存储结构中的链表、链栈和链队列。线性结构是数据结构中最为常见也最简单的逻辑结构。下面将进入非线性逻辑的数据结构部分,还记得下面的一副数据结构的分类图吧,对于非线性逻辑,主要介绍树和图。本文主要先针对树进行复习和总结,后续的博文将逐渐深入到图等更为复杂的非线性逻辑数据结构。
...
分类:
其他好文 时间:
2015-07-29 14:03:31
阅读次数:
171
查找:所谓查找就是在数据集合中寻找满足某种条件的数据元素。1. 二分查找1.1 二分查找的定义二分查找也属于顺序表查找范围,二分查找也称为折半查找。二分查找(有序)的时间复杂度为O(LogN)。那么什么是二分查找呢?二分查找的基本思想是, 在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的...
分类:
编程语言 时间:
2015-07-27 18:55:46
阅读次数:
125
上一篇博文中主要总结线性表中的链式存储结构实现,比如单向链表、循环链表,还通过对比链表和顺序表的多项式的存储表示,说明链表的优点。可以参看上篇博文http://blog.csdn.net/lg1259156776/article/details/47018813
下面先对没有介绍的链表中的双链表进行介绍,并通过稀疏矩阵的三元组的链式结构来深入理解较为复杂的链表存储结构。最后对三次博文所讲述的内容...
分类:
其他好文 时间:
2015-07-27 01:56:56
阅读次数:
175
1. 问题描述 从右侧旋转一个n个元素的数组,旋转k位。例如:n=7,k=3n = 7, k=3, arr=[1,2,3,4,5,6,7]arr=[1,2,3,4,5,6,7]旋转成为arr=[5,6,7,1,2,3,4]arr=[5,6,7,1,2,3,4]。2. 方法与思路 其实这个问题类似于字符串逆置问题中的句子逆置。比如“hello world”逆置成”world hello”。解决这种...
分类:
编程语言 时间:
2015-07-25 12:25:28
阅读次数:
163
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace C数据结构与算法 { class Program...
分类:
其他好文 时间:
2015-07-23 23:28:26
阅读次数:
184
栈的顺序存储结构#define STACK_INIT_SIZE 10
#define STACK_INCREMENT 2struct SqStack//顺序栈
{
SElemType *base;//在栈构造指针之前和销毁之后,base值为NULL
SElemType *top;//栈顶指针
int stacksize;//当前已分配的存储空间,以元素为单位
};栈的9个基本...
分类:
其他好文 时间:
2015-07-23 17:43:36
阅读次数:
137
上一篇博文中主要总结线性表的顺序存储结构实现,比如顺序表、顺序队列和顺序栈。具体可以参考上篇博文
http://blog.csdn.net/lg1259156776/article/details/46993591
下面要进行学习和总结的是线性表的链式存储结构实现,比如链表和链队列。
顺序存储结构的优缺点
优点是逻辑相邻,物理相邻,可随机存取任一元素,存储空间使用紧凑;缺点是插入、删除...
分类:
其他好文 时间:
2015-07-23 11:59:49
阅读次数:
166
#include#include#include#include#include#includeusing namespace std;template class Sqlist{ public: T data[100]; int n; void in...
分类:
其他好文 时间:
2015-07-21 22:08:13
阅读次数:
114
栈的定义:(特殊的线性表)??仅在表的一端进行插入和删除的线性表。允许插入、删除的这一端称为栈顶,另一端称为栈底。表中没有元素时称为空栈。??被称为后进先出的线性表(Last In First Out),简称 LIFO表,或被称为先进后出的线性表(First In Last Out),简称 FILO表。??栈更具存储方式的不同分为两种:顺序栈和链栈。顺序栈:
和顺序表一样,顺序栈也采用数组来存放数据...
分类:
编程语言 时间:
2015-07-21 10:47:55
阅读次数:
242
1、线性表:具有相同类型数据元素的有限序列
线性表的长度:有限序列中所含元素的个数
头元素:线性表的第一个元素,无前驱
尾元素:线性表的最后一个元素,无后继
基本操作:增删改查
2、顺序表:线性表的顺序存储,用一段连续的地址依次存储,c语言中用一维数组
(1)顺序表的存储结构:
#define MAXLENGTH 20
struct sequencelist
{...
分类:
其他好文 时间:
2015-07-21 01:36:01
阅读次数:
147