数据结构及算法-何谓数据结构

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

何谓数据结构

数据结构是在整个计算机科学技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由哪些成分数据构成以什么方式构成呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式

        数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。

数据结构主要研究什么?

数据结构作为一门学科主要研究数据的各种逻辑结构存储结构以及对数据的各种操作。因此,主要有三个方面的内容:数据的逻辑结构数据的物理存储结构对数据的操作(或算法。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。

什么是数据结构?什么是逻辑结构和物理结构?

数据是指由有限的符号(比如,"0""1",具有其自己的结构、操作、和相应的语义)组成的元素的集合结构是元素之间的关系的集合。通常来说,一个数据结构DS 可以表示为一个二元组:

DS=(D,S), //i.e., data-structure=(data-part,logic-structure-part)

        这里D数据元素的集合(或者是结点,可能还含有数据项数据域),S是定义在D(或其他集合)上的关系的集合S = { R | R : D×D×...}称之为元素的逻辑结构

        逻辑结构有四种基本类型:集合结构线性结构树状结构网络结构最常用的两种高效数据结构,许多高效的算法可以用这两种数据结构来设计实现。线性结构的(全序关系),(偏序或层次关系)(局部有序(weak/local orders))是非线性结构

        数据结构的物理结构是指逻辑结构的存储镜像(image)。数据结构 DS 物理结构 P 对应于 DS 的数据元素到存储区M(维护着逻辑结构S)的一个映射:

P:(D,S) --> M

存储器模型:一个存储器 M 是一系列固定大小的存储单元,每个单元 U 有一个唯一的地址 A(U),该地址被连续地编码。每个单元 U 有一个唯一的后继单元 U'=succ(U)

P 的四种基本映射模型:顺序sequential)、链接linked)、索引indexed)和散列hashing)映射。

因此,我们至少可以得到4×4种可能的物理数据结构:

    sequential

(sets)

    linked

lists

    indexed

trees

    hash

graphs


(并不是所有的可能组合都合理)

数据结构DS上的操作:所有的定义在DS上的操作在改变数据元素(节点)或节点的域时必须保持DS的逻辑和物理结构。

DS上的基本操作:任何其他对DS的高级操作都可以用这些基本操作来实现。最好将DS和他的所有基本操作看作一个整体——称之为模块。我们可以进一步将该模块抽象为数据类型(其中DS的存储结构被表示为私有成员,基本操作被表示为公共方法),称之为ADT。作为ADT,堆栈和队列都是一种特殊的表,他们拥有表的操作的子集。

对于DATs的高级操作可以被设计为(不封装的)算法,利用基本操作对DS进行处理。

好的和坏的DS如果一个DS可以通过某种线性规则被转化为线性的DS(例如线性表),则称它为好的DS。好的DS 常对应于好的(高效的)算法。这是由计算机的计算能力决定的,因为计算机本质上只能存取逻辑连续的内存单元,因此如何没有线性化的结构逻辑上是不可计算 的。比如对一个图进行操作,要访问图的所有结点,则必须按照某种顺序来依次访问所有节点(要形成一个偏序),必须通过某种方式将图固有的非线性结构转化为 线性结构才能对图进行操作。

好的DS——它有非常简单而高效的线性化规则,因此可以利用树设计出许多非常高效的算法。树的实现和使用都很简单,但可以解决大量特殊的复杂问题,因此树 是实际编程中最重要和最有用的一种数据结构。树的结构本质上有递归的性质——每一个叶节点可以被一棵子树所替代,反之亦然。际上,每一种递归的结构都可 以被转化为(或等价于)树形结构。

 
SAP ABAP——数据类型(六)【预定义基本数据类型详解(1) 数据类型默认长度有效长度默认值解释说明I440整型F880浮点型P81~160压缩数类型(将两个十进制数字压缩到一个字节)C11~65535‘…’文本型D88‘00000000’日期型(YYYYMMDD)N11~65535‘0…0’数字字符串类型(0~9之间的字符组成的数字字符串)T66‘000000’时间类型(格式:HHMMSS)x11~65535X’0…0’十六进制字段STRING0ANYSPACE。 阅读详情

相关推荐

数据结构算法自学与面试指南》01-02:何谓算法

算法,不编程

西安极客联盟 685

(二)数据类型(data type)

数据类型(data type)数据类型分为基本数据类型和引用数据类型。1、基本数据类型8种基本数据类型。各个基本类型之间是平等的,不存在大小和父子类的关系。它们之间的大小只是从存储数据所占用的空间来比较的。 1.数值型​ 1.在Java种,整数默认是int类型,小数默认为bouble类型。​ 2.如果一个整数超过了int的取值范围,需要加上L/l作为结尾标识,表示是一个long类型的数据。​

云飞扬0o的博客 1万+

SAP ABAP中的数据类型 Data Types

ABAP数据类型

weixin_45689053的博客 5660

MySQL技术内幕 InnoDB存储引擎:分区表

一、MySQL分区表介绍 分区是一种表的设计模式,正确的分区可以极大地提升数据库的查询效率,完成更高质量的SQL编程。但是如果错误地使用分区,那么分区可能带来毁灭性的的结果。 分区功能并不是在存储引擎层完成的,因此不只有InnoDB存储引擎支持分区,常见的存储引擎MyISAM、NDB等都支持分区。但是并不是所有的存储引擎都支持,如CSV、FEDORATED、MERGE等就不支持分区。在使用此分区功...

勿忘初心 1480

查询字段是date类型的数据

create table A_LOG ( S_PROCNAME VARCHAR2(64), S_TIME DATE not null, S_MSG VARCHAR2(4000), S_USER VARCHAR2(64) ) SELECT * FROM A_LOGa where to_char(a.s_time,'yyyy-MM-dd') = date '2021-08-01';--4

Gblfy_Blog 760

数据结构算法综合资料库(章1)-----何谓数据结构

何谓数据结构数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通

杜汪洋的专栏 1545

何谓算法

之前反复说过,要处理的数据越大,算法数据结构的选择对速度的影响也就越大。首先看个简单的例子。假设要从数据中使用线性查找(Linear Search),从头开始依次查找所需数据,那么如果有1000条数据,那就需要反复查找数据直至找到为止,这个算法最多要进行1000次查找。对于n条数据要进行n次搜索,因此称为O(n)算法。 而“二分查找”(binary search)算法能在log n次之内查找n...

爱.NET 115

算法数据结构数据结构

蓝桥杯你必须学会的算法

英雄哪里出来 4万+

書摘-何谓数据结构

何谓数据结构 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通

令狐二中 941

python数据结构算法总结

python常用的数据结构算法就分享到此处,本月涉及数据结构算法的内容有如下文章: 《数据结构算法对python意味着什么?》 《顺序表数据结构在python中的应用》 《python实现单向链表数据结构及其基本方法》 《python实现单向循环链表数据结构及其方法》 《python实现双向链表基本结构及其基本方法》 《python实现双向循环链表基本结构及其基本方法》 《py...

python之战 2万+

数据结构算法

数据结构算法 1.数据结构的概念 数据结构指的是一组数据的存储结构。 2.算法的概念 算法是指操作数据的一组方法 3.二者的关系 数据结构是为算法服务的,而算法要作用在特定的数据结构上。 4.最常用的数据结构算法 数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire树 算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。 一、算法的复杂度 1.1大O复杂度表示法: T(n)=O(f(n)). 其中T(n)表示代码执行的时间;n表示数据规

m0_52397715的博客 1万+

如何学习数据结构算法

首先掌握常用的、基础的。然后在此基础上往进行扩展学习。 常用的、基础的数据结构算法有20个。 数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树 算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。 这些需要一一攻克。 多思考,多想。往往需要灵魂三问,是什么?有什么用?怎么用?用来解决哪些实际问题? 当然了,你也可以思考一下为啥要学习这门课程? 什么是数据结构?什么是算法? 广义:数据结构就是一组存储结构。算..

6426

DS之何谓数据结构

何谓数据结构?        数据结构是计算机存储、组织数据的方式,数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。这是百度解释的数据结构定义。暂且不说理解起来有没有难度,就说数据结构到底是什么东西?恐怕至今还没有一个权威的解释,数据结构的内容也是一直在扩展。学了一段时间了,也不知道数据结构到底是什么?有一个解释我还是蛮理解的:数据结构是在整个计算机科学与技术领域上广泛被使用的术语。

life is wonderful 7715

何谓数据结构

何谓数据结构数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通

ccckobe的专栏 546

数据结构算法 - 数据结构算法进阶

本文介绍了常见数据结构(列表、栈、队列、链表、哈希表、树等等)与经典算法的例题及其实现方式

xian_x_的博客 2762

数据结构算法:什么是数据结构,什么是算法

文章标题前言 前言   这几天在复习数据结构

undefinedUser_1的博客 4859
上一篇: VC-用MFC + ADO 把jpg图象文件放入ACCESS库中
下一篇: 数据结构及算法-算法是什么?
MasterFT
博客等级 码龄20年 48粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值