数据机构-基本概念

百度版:

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

数据结构里面的一些重要概念:

1.逻辑结构与物理结构

1.1逻辑结构(重点)

指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。(百度版)

主要有几种关系:

集合关系:

集合关系的数学图示:

线性关系:两个变量之间存在一次方函数关系,就称它们之间存在线性关系。(数学概念)我们可以理解成为所有点是分布在一条直线上

树形关系:像一颗树一样的,根->叶子,叶子->叶子.......

图形关系:无方向,无顺序,多对多的关系

1.2物理结构:主要是存储方面的,在数据结构里面暂时不管

1.2.1顺序存储:在内存里面划分一个内存块,然后连续的存储数据,像数组

1.2.2链式存储

又叫链接存储结构。在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的).

它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储结构所具有的弱点,但也同时失去了顺序表可随机存取的优点.

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-13 12:01:42

数据机构-基本概念的相关文章

数据机构基本概念

一 数据机构类型: 集合 ,线性结构,树形结构,图状机构 二 逻辑关系:线性结构 和 非线性结构 线性结构 1.线性表 2.栈 3.队列 4.数组 ,广义表 5.字符串 非线性结构 1.树,二叉树 2.图 三 数据存储结构 顺序存储结构(向量,一维数组) 非顺序存储结构(链接表) 四 数据类型(Data Type) 原子类型 (如 int, char, float等) 机构类型(线性表, 数组, 树等) 五 抽象数据类型(Abstruse Data Type) 抽象线性数据结构是指一个数字模型以

mysql数据引擎的概念介绍

什么是数据库引擎?每种数据库的数据格式,内部实现机制都是不同的,要利用一种开发工具访问一种数据库,就必须通过一种中介程序,这种开发工具与数据库之间的中介程序就叫数据库引擎. 如果你是个赛车手并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是怎么感觉呢?MySQL数据库为开发人员所做的就好像是按按钮换引擎:它让你选择数据库引擎,并给你一条简单的途径来切换它. MySQL 的自带引擎肯定是够用了,但是在有些情况下,其他的引擎可能要比手头所用更适合完成任务.如果愿意的话,你甚至可以使用

每天进步一点点——形象化描述数据结构中基本概念

基本数据结构: 村名信息表.学生成绩表等抽象成线性表: 一个家族关系.一个机构可抽象成树: 一个群体中个体之间的关系.城市之间的交通网络抽象成图: 人们也将村名信息表.学生成绩表.家族关系.一个机构.群体中个体之间的关系.城市之间的交通网络称为数据: 成绩表中每个数据元素(表中一行)包括学号.姓名.成绩.备注等4个数据项.(数据项是组成数据的最小单位) 特殊的线性结构: 栈:桌上的一叠书,最上面的一层(栈顶) 队列:排在队头的人买好票离开,新来的人在队尾入队 指针用来识别不同存储单元的数字编码,

大数据仅仅是概念还是有实用性

从去年开始,不管是互联网行业还是其他行业,“大数据”一词开始频繁出现. “概念”性质的东西在中国的互联网圈子总是可以快速传播,这里面有很多原因,其中就有整体氛围所致:大多数互联网的创业者都是希望通过前瞻性的创新来改变世界,受到资本追捧,最终套现.在这个过程中,概念飞快的传播.包装,成为各种打着标签的产品.而实用主义者只被动接受,缺乏正确认知深刻的探索. 从下图可以看出,2008年大数据概念开始传播后,在百度和Google的“大数据”和“Big Data”的检索趋势(下图数据中Baidu的PV加权

数据的基本概念

数据集:数据对象的集合 属性(attribute)是对象的性质或特性,它因对象而异,或随时间而变化. 测量标度(measurement scale)是将数值或符号值与对象的属性相关联的规则(函数) 属性的不同类型: 标称:标称属性的值仅仅只是不同的名字,即标称值只提供足够的信息以区分对象.比如:邮政编码,雇员ID,性别.对标称属性的操作有众数,熵,列联相关等. 序数:序数属性的值提供足够的信息确定对象的序.比如:街道号码,成绩,产品质量(优秀,合格,不合格).对序数属性的操作有中值,百分位等.

求职_第1篇 程序设计基础及数据机构基础

例1:以下代码有助于理解上述概念. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h> int k = 1; int main() { int i = 1; char *j; static int m = 1; char *n = "hello"; printf("栈区地址为:0X%x\n", &i);/*变量n位于栈上,其内容为一地址,指向位

STM32_Flash做为存储器储存数据(基本概念)

摘自:http://bbs.elecfans.com/jishu_388272_1_1.html 说到STM32的FLSAH,我们的第一反应是用来装程序的,实际上,STM32的片内FLASH不仅用来装程序,还用来装芯片配置.芯片ID.自举程序等等.当然, FLASH还可以用来装数据. PS:自己收集了一些资料,现将这些资料总结了一下,不想看的可以直接调到后面看怎么操作就可以了. FLASH分类      根据用途,STM32片内的FLASH分成两部分:主存储块.信息块. 1.主存储块用于存储程序

学数据机构干什么?

我们为什么还要学习数据结构呢?学习什么链表,插入删除数据,看代码,觉得很复杂.这是干什么用的呢?C或C++里不就已经可以插入数据,存储数据么?建个数组,运用指针不就可以很方便么?还要费这劳什子自己写一大串代码就是为了建个链表能存两个数据? 回答一: 链表的好处在于不用使用连续的内存,而是利用内存中分散的存储单元存储数据:而且链表的长度是可以任意增删的,但数组一旦申请就不能改变,这根本不能满足数据的动态存储:再加上数组的删除和插入元素会使大片的数据进行移动,这就增加了运算量: 数据结构的思想还是很

[大话数据机构 01]线性表

1.线性表 先看定义: 线性表:零个或多个数据元素的有限序列 从定义可以看出,关键在于有限序列一词. 有限,表示元素的个数不是无穷无尽的,是有穷的,和算法的特性就吻合了. 序列,表示元素之间是有序的,那么,除了首尾两元素,其他元素都可以且只能找到一个前驱和一个后继,第一个元素无前驱,最后一个无后继 来自为知笔记(Wiz)