数据结构
文章平均质量分 76
___cc木槿
你瞅啥瞅
展开
-
数据结构(一)顺序表3:顺序表常见题型
所有算法涉及的顺序表的类型定义://线性表的动态储存分配const int MAXSIZE=(100);typedef struct { int *data; int length;}Sqlist;动态分配语句为:data=(int *)malloc(sizeof(int)*MAXSIZE);//data=new int[MAXSIZE];1.将线性表的就地逆置:原创 2016-11-03 16:26:05 · 823 阅读 · 0 评论 -
数据结构(一)顺序表2:顺序表的就地逆置和顺序表中删除元素值
问题一: 实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1,a2,…,an),逆置为(an,an-1,…,a1)。1.顺序表的全部逆置设一个临时变量,将顺序表逆置//顺序表的全部逆置void reverse_list(Sqlist &L){ //就地逆置,设一个临时变量,将顺序表逆置 int i=0,j,k; for(j=L.length原创 2016-10-31 22:08:59 · 3866 阅读 · 0 评论 -
数据结构(五)树2:树的基本操作
1.树的类型定义 typedef struct tnode { char data; struct tnode *lchild,*rchild; }tnode,*tree;2.树的创建//先序序列构造二叉树,结点数据类型为字符型,空结点用'#'表示tnode *creat(){ char ch = getchar(); if(ch == '#' || ch =原创 2016-11-07 13:12:24 · 714 阅读 · 0 评论 -
数据结构(二)链表1:链式存储的基本操作
用任意储存空间存放线性表中的元素。储存空间可以是连续,也可以是非连续的。节点:数据域,指针域。数据域:节点本身的信息。指针域:指向直接后继元素的地址。节点的逻辑顺序和物理顺序不一定相同链表:(线性表中的)数据元素按照逻辑顺序链接在一起。单链表(线性链表):指针域只有一个。头结点:在首节点(第一个节点)之前的节点。(在第一个节点之前插入节点和删除第一个节点)空链表原创 2016-11-01 22:44:19 · 637 阅读 · 0 评论 -
数据结构(二)链表2:链式存储结构和顺序存储结构的优缺点
1.储存分配方式:顺序存储结构:一组连续的储存空间 依次 存放线性表中的数据元素;链式存储结构:一组任意的储存空间 存放线性表中的数据元素2.时间性能:(时间复杂度)顺序存储结构:查找操作O(1), 插入和删除操作需要移动平均超过一半的数据元素O(n)链式存储结构:查找操作O(n), 插入和删除时不需要移动大量的数据元素(只是节点指针在移动)O(1)3.空间性能顺序原创 2016-11-01 23:53:48 · 3947 阅读 · 2 评论 -
数据结构(一)顺序表1:顺序存储的基本操作
线性表是一种最简单的线性结构。线性表:n个类型相同的元素的有限集合。(每个数据之间存在着唯一的顺序关系)线性表有两种存储结构:顺序存储结构和链式存储结构。1.线性表的定义:#include#include//#includeusing namespace std;#define MAXSIZE 100//const int MAXSIZE=(1原创 2016-10-31 22:00:56 · 3023 阅读 · 0 评论