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

    文章

    4448

    浏览量

    90721
  • 数据结构
    +关注

    关注

    3

    文章

    560

    浏览量

    39898

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    C语言数据结构之跳表详解

    大家好,今天分享一篇C语言数据结构相关的文章--跳表。
    的头像 发表于 12-29 09:32 522次阅读
    C语言<b class='flag-5'>数据结构</b>之跳表详解

    redis数据结构的底层实现

    Redis是一种内存键值数据库,常用于缓存、消息队列、实时数据分析等场景。它的高性能得益于其精心设计的数据结构和底层实现。本文将详细介绍Redis常用的数据结构和它们的底层实现。 Re
    的头像 发表于 12-05 10:14 307次阅读

    不同数据结构的定义代码

    数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
    的头像 发表于 11-29 14:13 340次阅读

    redis的五种数据类型底层数据结构

    Redis是一种内存数据存储系统,支持多种数据结构。这些数据结构不仅可以满足常见的存储需求,还能够通过其底层数据结构提供高效的操作和查询。以下是Redis中常用的五种
    的头像 发表于 11-16 11:18 367次阅读

    ringbuffer数据结构介绍

    最近在研究srsLTE的代码,其中就发现一个有意思的数据结构------ringbuffer。 虽然,这是一个很基本的数据结构,但时,它在LTE这种通信协议栈系统中却大行其道,也是很容易被协议
    的头像 发表于 11-13 10:44 289次阅读
    ringbuffer<b class='flag-5'>数据结构</b>介绍

    epoll的基础数据结构

    一、epoll的基础数据结构 在开始研究源代码之前,我们先看一下 epoll 中使用的数据结构,分别是 eventpoll、epitem 和 eppoll_entry。 1、eventpoll 我们
    的头像 发表于 11-10 10:20 316次阅读
    epoll的基础<b class='flag-5'>数据结构</b>

    Linux内核中使用的数据结构

    Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。 链表 Linux内核代码大量使用了链表这种数据结构。链表是在解决数组不能动态扩展这个缺陷而产生的一种数据结构。链表
    的头像 发表于 11-09 14:24 196次阅读
    Linux内核中使用的<b class='flag-5'>数据结构</b>

    stm32的8位数据结构怎么判断正负?

    stm32的8位数据结构怎么判断正负,char变量不能为负,不想用int,我记得51单片机char可以判断正负
    发表于 09-22 07:15

    NetApp的数据结构是如何演变的

    混合和多云部署模型是企业IT组织的新常态。随着这些复杂的环境,围绕数据管理的新挑战出现了。NetApp的数据管理愿景是一种无缝连接不同的数据结构云,无论它们是私有环境、公共环境还是混合环境。
    发表于 08-25 17:15 0次下载
    NetApp的<b class='flag-5'>数据结构</b>是如何演变的

    快速介绍8种常用数据结构

    数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。
    发表于 06-21 09:27 549次阅读
    快速介绍8种常用<b class='flag-5'>数据结构</b>

    数据结构中最简单的链表

    数据结构作为嵌入式工程师必修课程之一,今天,我们就来讲一讲数据结构中最简单的链表,包含链表的初始化、插入和遍历操作。 链表在项目开发中使用的场景很多,跟数组相比,它的优点就是,容量没有限制,插入删除效率比较高。
    发表于 06-13 17:40 249次阅读

    如何理解并掌握Java数据结构

    Java 数据结构是 Java 程序员必须掌握的重要知识之一。
    的头像 发表于 06-06 15:53 573次阅读

    嵌入式软件常见的8种数据结构

    数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。
    的头像 发表于 05-04 10:28 622次阅读
    嵌入式软件常见的8种<b class='flag-5'>数据结构</b>