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

    文章

    4762

    浏览量

    97253
  • 数据结构
    +关注

    关注

    3

    文章

    573

    浏览量

    41393

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机C语言编程的心得

    的相关程序放在一个C程序文档中,称之为一个模块,对应的文件名即为模块名。一个模块通常由两个文档组成,一个为头文件*.h,对模块中的数据结构和函数原型进行描述;另一个则为C文件*.c ,对数据实例或对象
    发表于 12-08 07:44

    typedef结构体使用

    虽然结构体的出现能够让我们有一个更科学的数据结构来管理数据,但是每次使用结构体都需要struct...,未免显得有些冗长和麻烦。有了typedef的助攻,我们就可以很轻松地给
    发表于 12-08 07:04

    C语言程序的结构

    )(void); //处理程序   uInt8 ms_count; //时间片大小   } _op_;   数据结构定义好之后,接着就是实现代码,包括三部分,即初始化数据、时间片的刷新与时间到执行
    发表于 11-26 08:12

    浅析涡街流量计结构

    在工业生产的庞大脉络中,每一个精准数据的背后,都隐藏着无数精密仪器的默默守护。涡街流量计结构的独特性和可靠的性能,成为石油、化工、冶金等领域中流量测量的重要工具,也是一位不可或缺的“流量守护者”。
    的头像 发表于 09-20 15:02 957次阅读
    <b class='flag-5'>浅析</b>涡街流量计<b class='flag-5'>结构</b>

    【HZ-T536开发板免费体验】6、使用protoc-gen-gorm生成标准化的数据结构

    在设计espnow协议的时候,考虑到我需要在esp32,Linux设备,web上使用相同的数据结构,那就需要考虑一下,是否使用一个通用的跨平台序列化数据结构。这时候我想起了protobuf,这个就是
    发表于 08-26 00:32

    盘点嵌入式就业所需要的技能有哪些?

    ,把握未来的职业机遇。 1.智能汽车行业: - 熟悉嵌入式编程语言,如C/C++、Python等。 - 掌握嵌入式系统设计与开发流程,了解汽车电子控制系统的基本原理。 - 具备良好的数据结构和算法
    发表于 08-11 15:43

    机器视觉行业2025浅析:规模、结构与发展趋势

    机器视觉产业加速发展,市场规模扩大,产品结构分化,应用聚焦质量检测与智能制造。
    的头像 发表于 07-23 09:22 975次阅读
    机器视觉行业2025<b class='flag-5'>浅析</b>:规模、<b class='flag-5'>结构</b>与发展趋势

    同步电机失步浅析

    纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:同步电机失步浅析.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 06-20 17:42

    SOLIDWORKS建模秘籍——必学的五个草图与建模技巧

    SOLIDWORKS作为一款功能强大的三维CAD软件,广泛应用于各种设计和产品开发领域。掌握SOLIDWORKS的草图与建模技巧,能够显著提升设计效率,减少错误,并快速将创意转化为现实。以下是五个必学的SOLIDWORKS草图与建模技巧,帮助你成为设计高手。
    的头像 发表于 05-26 13:17 893次阅读
    SOLIDWORKS建模秘籍——<b class='flag-5'>必学</b>的五个草图与建模技巧

    程序设计与数据结构

    《程序设计与数据结构》重点阐述了三大方向内容: 1. C语言学习中的痛点:针对当前工程师在C语言学习中的痛点,如指针函数与函数指针,如何灵活应用结构体等。从变量的三要素(变量的类型,变量的值和变量
    发表于 05-13 16:45

    请问K230D怎么将摄像头采集的视频数据通过串口输出?

    我连了个WiFi模块,想要将摄像头采集的视频数据通过串口发送出去。之前都是用的STM32,不太会MicroPython,搞不懂对象的数据结构,求教。
    发表于 04-28 06:16

    C语言中结构体与联合体的深度解析:内存布局与应用场景

    在于对内存的极致操控。结构体构建数据实体,联合体实现内存复用,二者的组合使用能创造出强大的数据结构。掌握它们的底层原理,配合内存分析工具(如Valgrind、GDB),将助你在嵌入式开发、系统
    发表于 04-08 09:18

    工程师入门必学的二十个模拟电路

    电子发烧友网站提供《工程师入门必学的二十个模拟电路.pdf》资料免费下载
    发表于 02-07 16:03 5次下载

    EtherCAT数据结构解析

    物理层和常规的以太网卡,通过独特的数据结构和处理机制,实现了基于EtherNet的实时控制。本文将深入探讨EtherCAT的数据结构,从帧的组成、子报文的
    的头像 发表于 02-02 17:42 2277次阅读

    字符串与字符数组的区别

    编程语言中,字符串和字符数组是两种基本的数据结构,它们都用于存储和处理文本数据。尽管它们在功能上有一定的重叠,但在内部表示、操作方式和使用场景上存在显著差异。 1. 内部表示 字符串 字符串在
    的头像 发表于 01-07 15:29 1718次阅读