分类: 数据结构

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

38 篇文章

thumbnail
数据结构知识框架
[alert color="red"]注意:仅供个人参考[/alert] 数据结构知识框架 初识数据结构 概念 数据 描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别,并输入给计算机处理的符号集合 数据元素 是组成数据的、有一定意义的基本单位,在计算机通常作为整体处理,也被称为记录 数据项 一个数据元素可以由若干个数据项组成。数据项是数…
thumbnail
6-2 用函数求余弦函数的近似值
本题要求实现一个函数,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e: cos(x)=x​0​​/0!−x​2​​/2!+x​4​​/4!−x​6​​/6!+⋯ 函数接口定义: double funcos( double e, double x ); 其中用户传入的参数为误差上限e和自变量x;函数funcos应返回用给定公式计算出来…
thumbnail
数据结构
各章知识点: 绪论: (1)数据、数据元素、数据项等概念 (2)数据的逻辑结构概念、种类 (3)数据的物理结构概念、种类 (3)算法概念 (4)算法特征(5个) (5)算法标准(4个) (6)算法分析:时间复杂度 线性表: (1)线性结构特点 (2)线性表概念 (3)顺序存储与链式存储比较 (4)顺序存储插入、删除分析,移动数据元素的个数? (5)…
thumbnail
【哈希表】线性探测再散列的相关知识与计算
最近复习了下数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时比较迷茫,不知道到底是怎么计算出来的。现在通过查阅资料终于知道如何计算了,所以记录下来以供以后查阅。 下面看下2010年2010年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合试题中一个考哈希表的题。 Question1: 将关键字序列(7、8…
thumbnail
求单链表最小值
本题要求实现一个函数,返回带头结点的单链表中最小元素的地址。 函数接口定义: LinkList MinP( LinkList L); L是带头结点的单链表的头指针,函数MinP返回表中最小元素的地址。如果单链表为空,返回空指针。 其中LinkList结构定义如下: typedef struct LNode { ElemType data; stru…
thumbnail
6-4 二叉排序树查找最小值最大值操作 (6 分)
本题要求实现二叉排序树的两个基本操作。 函数接口定义: BSTree FindMin( BSTree T); BSTree FindMax( BSTree T); 函数FindMin返回二叉排序树T中最小元素结点的指针; 函数FindMax返回二叉排序树T中最大元素结点的指针。 其中BSTree结构定义如下: typedef int ElemTyp…
thumbnail
哈希的装填因子和加载因子
装填因子:a=n/m 其中n 为关键字个数,m为表长。 加载因子是表示Hsah表中元素的填满的程度.若:加载因子越大,填满的元素越多,好处是,空间利用率高了,但:冲突的机会加大了.反之,加载因子越小,填满的元素越少,好处是:冲突的机会减小了,但:空间浪费多了. 冲突的机会越大,则查找的成本越高.反之,查找的成本越小.因而,查找时间就越小.
thumbnail
数据的逻辑结构和存储结构(物理结构)详解
数据的存储方式可分为线性表、树和图三种存储结构,而每种存储结构又可细分为顺序存储结构和链式存储结构。数据存储方式如此之多,针对不同类型的数据选择合适的存储方式是至关重要的。 那么,到底如何选择呢?数据存储结构的选择取决于两方面,即数据的逻辑结构和存储结构(又称物理结构)。 逻辑结构 数据的逻辑结构,简单地理解,就是指的数据之间的逻辑关系。 图 1 …
thumbnail
6-3 二叉排序树查找操作 (6 分)
本题要求实现二叉排序树的查找操作。 函数接口定义: BSTree SearchBST(BSTree T,ElemType e); 其中BSTree结构定义如下: typedef int ElemType; typedef struct BSTNode { ElemType data; struct BSTNode *lchild,*rchild; …
thumbnail
6-2 是否二叉搜索树 (25 分)
本题要求实现函数,判断给定二叉树是否二叉搜索树。 函数接口定义: bool IsBST ( BinTree T ); 其中BinTree结构定义如下: typedef struct TNode *Position; typedef Position BinTree; struct TNode{ ElementType Data; BinTree L…
thumbnail
6-4 图的深度遍历-邻接表实现 (10 分)
本题要求实现邻接表存储图的深度优先遍历。 函数接口定义: void DFS(ALGraph *G,int i); 其中ALGraph是邻接表存储的图,定义如下: #define MAX_VERTEX_NUM 10 /*定义最大顶点数*/ typedef int Vertex; typedef struct ArcNode{ /*表结点*/ int …
thumbnail
6-3 图的广度遍历-邻接表实现 (10 分)
本题要求实现邻接表存储图的广度优先遍历。 函数接口定义: void BFS(ALGraph *G,int i); 其中ALGraph是邻接表存储的图,定义如下: #define MAX_VERTEX_NUM 10 /*定义最大顶点数*/ typedef int Vertex; typedef struct ArcNode{ /*表结点*/ int …
thumbnail
6-2 图的广度遍历-邻接矩阵实现 (10 分)
本题要求实现邻接矩阵存储图的广度优先遍历。 函数接口定义: void BFS(MGraph G,Vertex i); 其中MGraph是邻接矩阵存储的图,定义如下: #define MaxVertexNum 10 /*定义最大顶点数*/ typedef int Vertex;/* 用顶点下标表示顶点,为整型 */ typedef struct{ i…
thumbnail
6-1 图的深度遍历-邻接矩阵实现 (10 分)
本题要求实现邻接矩阵存储图的深度优先遍历。 函数接口定义: void DFS(MGraph G,Vertex v); 其中MGraph是邻接矩阵存储的图,定义如下: #define MaxVertexNum 10 /*定义最大顶点数*/ typedef int Vertex;/* 用顶点下标表示顶点,为整型 */ typedef struct{ i…
thumbnail
6-12 带头结点的单链表就地逆置 (10 分)
本题要求实现一个函数,对带有头结点的单链表进行就地逆置。 函数接口定义: void reverse ( LinkList L ); L是带头结点的单链表的头指针。 裁判测试程序样例: #include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct L…