0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编程基础必学:浅析数据结构!

C语言编程学习基地 来源:C语言编程学习基地 作者:C语言编程学习基地 2022-04-24 16:38 次阅读

1.计算机科学的两大支柱:

1.数据结构

2.算法

2.数据结构定义:

一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科。

8dd36dc6-c39f-11ec-bce3-dac502259ad0.png

数据(Data): 是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。

数据元素(Data Element): 是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。

数据结构(Data Structure): 是相互之间存在一种或多种特定关系的数据元素的集合。

3.数据结构主要指逻辑结构和物理结构,数据之间的相互关系称为逻辑结构。通常分为四类基本结构:

集合: 结构中的数据元素除了同属于一种类型外,别无其它关系。

线性结构:结构中的数据元素之间存在一对一的关系。

树型结构:结构中的数据元素之间存在一对多的关系。

图状结构或网状结构 : 结构中的数据元素之间存在多对多的关系。

8de4a528-c39f-11ec-bce3-dac502259ad0.png

4.数据结构在计算机中有两种不同的表示方法:

顺序存储结构: 用数据元素在存储器中的相对位置来表示数据元素之间的逻辑关系。

链式存储结构:在每一个数据元素中增加一个存放地址的指针,用此指针来表示数据元素之间的逻辑关系。

5.数据对象:

某种数据类型元素的集合。

eg:整数的数据对象是{…-3,-2,-1,0,1,2,3,…}

英文字符类型的数据对象是{A,B,C,D,E,F,…}

数据类型:在一种程序设计语言中,变量所具有的数据种类。

6.数据结构的三个方面:

8e00159c-c39f-11ec-bce3-dac502259ad0.png

7.算法

用抽象的语言描述解决特定问题的每一步的操作。程序是计算机能理解和执行的指令序列。一个程序实现一个算法。算法和程序的区别是算法的执行是有穷的,而程序的执行可以是无限的。

8.时间复杂度

9.

1、什么是集合

通常情况下,把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合。比如,用Java编程的所有程序员,全体中国人等。

2、什么是集合框架

集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。

3、集合框架对我们编程有何助益:

它减少了程序设计的辛劳、它提高了程序速度和质量。

10. Collection 接口是一组允许重复的对象。

Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。

List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。

Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。

容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。

11. 递归:

若一个对象部分地包含它自己, 或用它自己给自己定义, 则称这个对象是递归的;若一个过程直接地或间接地调用自己, 则称这个过程是递归的过程。

8e1d5e40-c39f-11ec-bce3-dac502259ad0.png

12. 线性表:

线性表是由n(n≥0)个相同类型的数据元素a1,a2,…,an组成的有限序列,记作:LinearList={a1,a2,…,an}

其中,n表示线性表的元素个数,称为线性表的长度。

13. 线性表的顺序存储结构:

是用一组连续的存储单元顺序存放线性表的数据元素,数据元素在内存的物理存储次序与它们在线性表中的逻辑次序是一致的,即数据元素ai与其前驱数据元素ai-1及后继数据元素ai+1的位置相邻。

14.迭代器:

迭代器是允许以一致的方式对集合对象的元素进行访问的对象。迭代器对象一旦发现另一个对象在结构上修改这一集合,就马上会报错。这是因为一旦你开始对一个ArrayList对象进行迭代,就不能再修改这个ArrayList完整性。所以弹出 ConcurrentModificationException

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4615

    浏览量

    92969
  • 数据结构
    +关注

    关注

    3

    文章

    573

    浏览量

    40142

原文标题:编程基础必学:浅析数据结构!你应该没有这样了解过吧?

文章出处:【微信号:cyuyanxuexi,微信公众号:C语言编程学习基地】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DDC264配置寄存器数据写入和320 DCLK时钟脉冲后的回读数据结构是什么?

    配置寄存器数据写入和320 DCLK时钟脉冲后的回读数据结构是什么? 根据注和表9,16位配置寄存器数据,4位修订ID, 300位校验模式,怎么可能有1024 TOTAL READBACK BITS, format = 0
    发表于 11-19 07:58

    视觉软件HALCON的数据结构

    在研究机器视觉算法之前,我们需要先了解机器视觉应用中涉及的基本数据结构。Halcon数据结构主要有图像参数和控制参数两类参数。图像参数包括:image、region、XLD,控制参数包括:string、integer、real、handle、tuple数组等。
    的头像 发表于 11-14 10:20 411次阅读
    视觉软件HALCON的<b class='flag-5'>数据结构</b>

    技术科普 | 芯片设计中的LEF文件浅析

    技术科普 | 芯片设计中的LEF文件浅析
    的头像 发表于 11-13 01:03 266次阅读
    技术科普 | 芯片设计中的LEF文件<b class='flag-5'>浅析</b>

    架构师日记-从数据库发展历程到数据结构设计探析

    数据库发展史 起初,数据的管理方式是文件系统,数据存储在文件中,数据管理和维护都由程序员完成。后来发展出树形结构和网状
    的头像 发表于 09-25 11:20 811次阅读
    架构师日记-从<b class='flag-5'>数据</b>库发展历程到<b class='flag-5'>数据结构</b>设计探析

    嵌入式常用数据结构有哪些

    在嵌入式编程中,数据结构的选择和使用对于程序的性能、内存管理以及开发效率都具有重要影响。嵌入式系统由于资源受限(如处理器速度、内存大小等),因此对数据结构的选择和使用尤为关键。以下是嵌入式编程
    的头像 发表于 09-02 15:25 493次阅读

    解析嵌入式编程8种常用的数据结构

    数组是固定大小的结构,可以容纳相同数据类型的项目。它可以是整数数组,浮点数数组,字符串数组或什至是数组数组(例如二维数组)。数组已建立索引,这意味着可以进行随机访问。
    发表于 05-03 10:54 480次阅读
    解析嵌入式<b class='flag-5'>编程</b>8种常用的<b class='flag-5'>数据结构</b>

    揭秘编程核心:基本数据结构与算法思想详解

    描述问题的数据除了各数据元素本身,还要考虑各元素的逻辑关系,主要是一对一的线性关系,一对多的树型关系和多对多的图形关系。
    的头像 发表于 04-25 11:51 1095次阅读
    揭秘<b class='flag-5'>编程</b>核心:基本<b class='flag-5'>数据结构</b>与算法思想详解

    探索编程世界的七大数据结构

    结构就像是一颗倒挂的小树,有根、有枝、有叶。它是一种非线性的数据结构,以层级的方式存储数据,顶部是根节点,底部是叶节点。
    的头像 发表于 04-16 12:04 389次阅读

    现场可编程门阵列的基本结构和优缺点

    现场可编程门阵列(FPGA)的基本结构主要包括可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。其中,基本可
    的头像 发表于 03-27 14:49 626次阅读

    TASKING编译器是否可以将数据结构设置为 \"打包\"?

    TASKING 编译器是否可以将数据结构设置为 \"打包\"? GCC 很早以前就提供了这种可能性,可以将__attribute__((packed))与对齐指令结合使用。 对于
    发表于 03-05 06:00

    矢量与栅格数据结构各有什么特征

    矢量数据结构和栅格数据结构是地理信息系统(GIS)中最常用的两种数据结构。它们在存储和表示地理要素上有着不同的方法和特征。在接下来的文章中,我们将详细介绍这两种数据结构并比较它们的特点
    的头像 发表于 02-25 15:06 2626次阅读

    Redis流与Kafka相比如何?

    我们先来看看Kafka的基本架构。基本的数据结构是主题。它是一个按时间排序的记录序列,只需追加。使用这种数据结构的好处在Jay Kreps的经典博文The Log中得到了很好的描述。
    的头像 发表于 02-21 16:09 477次阅读
    Redis流与Kafka相比如何?

    什么是Mesh?Mesh组网拓扑结构浅析

    什么是Mesh?Mesh组网拓扑结构浅析  Mesh(网状结构)是一种网络拓扑结构,它由多个节点相互连接而成,每个节点都可以直接与其他节点通信。与其他拓扑
    的头像 发表于 02-04 14:07 3024次阅读

    区块链是什么样的数据结构组织

    区块链是一种特殊的数据结构,它以分布式、去中心化的方式组织和存储数据。区块链的核心原理是将数据分布在网络的各个节点上,通过密码学算法保证数据的安全和可靠性。在区块链上,
    的头像 发表于 01-11 10:57 2266次阅读

    结构体与指针的关系

    在C语言中,结构体(Struct)是一种用户自定义的数据类型,它允许您将不同类型的数据项组合在一起,以便形成一个更复杂的数据结构结构体可以
    的头像 发表于 01-11 08:00 1008次阅读
    <b class='flag-5'>结构</b>体与指针的关系