当前位置: 首页 > news >正文

【数据结构】何为数据结构。

  • 🚩 WRITE IN FRONT 🚩   

  • 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎
  • 🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2022博客之星TOP100|TOP63、阿里云专家博主、掘金优秀创作者、全网粉丝量6w+、全网访问量100w+ 🏅
  • 🆔 文章内容由 謓泽 原创 如需相关转载请提前告知博主 ⚠
  • 📝 个人主页:謓泽的博客 📃
  • 📣 专栏系列:数据结构_謓泽的博客 📃
  • 🎁 点赞👍+ 收藏⭐️+ 留言📝​
  • 📅 创作时间👉2022N 7Y 1R​ 🧑‍💻
  • ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 📩

🍭目录

📕前言

        📗who数据结构

                📘算法和数据结构的关系

📕"四步曲"

        📗你必须要学数据结构


📕前言

        "数据结构"很多没学过的小伙伴们看到这四个字、就会觉得有一种劝退的感觉。因为很多人觉得学数据结构都是需要思维逻辑强、高等数学和算法、必备C语言精通等条件。

说明⇢在我看来有这些基础能力最好,可以说你基础越扎实那么学数据结构肯定是比那些基础比较、但是这不是主要的。最主要的是看你对"数据结构"这门课程花费多少心思,花费多少时间努力和精力♬

📗who数据结构

        ⒈官方的话⇢数据结构是数据的对象,以及存在于该对象的实例的数据元素之间的联系。这些联系可以通过定义相关的函数给出。"他将数据对象(date object)定义为一个数据对象是实例或值得集合。

        ⒉白话来说⇢数据结构就是实现在内存当中存储管理数据,建立数据之间的联系。数据之间的关系可以是线性的(顺序表、链表等)也可以是非线性的(二叉树、哈希、图等)。数据存储起来以后,方便我们去展示,查询等。

📘算法和数据结构的关系

        ①官方的话⇢算法(Algorithm)定义良好的计算过程,他取一个或一组的值作为输入,并产生出一个或一组的值作为输出。简单的来说算法就是一系列的计算步骤,用来将输入数据转化成为输出结果。

        ②白话来说⇢算法就是利用计算的处理问题的步骤,总而言之~就是解决问题的步骤。比如说现在很多应用视频,像blbl、dy、ks的会推荐你喜欢的视频,这种被我们称之为是"大数据",而这种在算法当中来说叫做是"推荐算法"。

📕"四步曲"

⒈那么我们在学习数据结构之前你需要有哪些基础呢?

⑴首先很重要的就是[C语言]这里我只能说你这门语言越扎实越好,你的起点就更高、起步就更快。

推荐课程-比特鹏哥C语言(blbl)有的、比特鹏哥刷题训练营(cctalk)、比特蛋哥的C深度解剖(cctalk)、翁恺C语言。

说明⇢以上推荐的课程都是博主完整的学过一遍的课程(甚至有些课程学习了好几遍)、都讲的非常Nice😘尤其是鹏哥的比特C语言从入门到精通绝对是初学者的福音。如果你把这些学完了并且大部分都学会了、那么你的C语言就没什么问题了基本上。

⑵刷题、刷题可以培养你的编程思维逻辑,这对于编程者来说是很重要的,你题目刷的越多你的思维性也就越强,必须要有一定的代码量的练习。

推荐网站-牛客网、力扣、BJFU[OJ]。

注意-但是在这个世界上也存在极少部分人思维性极强的人来说,他们不用刷多少题就具备思维能力。这种在这里不考虑、毕竟是极少数人群。

⑶误区-有些小伙伴们会把数据结构和高等数学关联在一起,这其实是一个很大的误区。数据结构和高等数学基本没有什么关系,但是离散数学有用。真的有关系的是数据结构和算法,关系很大。所以,不存在什么一定的数学不行就不能学习数据结构之类的。当然,如果你有这方面的能力那当然是最好的🙌

⑷书籍-在这里博主推荐下关于数据结构的书籍吧。

①漫画算法-小灰的算法之旅。

②数据结构-第二版名师严蔚敏最新力作。​

📗你必须要学数据结构

who-为什么必须要学习数据结构呢?

说明①⇢博主走的是嵌入式的路线,那么对于嵌入式来说数据结构是非常重要的一个能力,嵌入式工程师要弄懂操作系统(os)的话,就必须要懂数据结构,可以说不懂数据结构的话就搞不清楚操作系统的代码,包括自己写代码也要有封装和继承的概念。这些也都是需要数据结构的概念了,像对于高级语言来说那么它就是用到了很多指针、结构体、枚举以及内存的知识点,这些都是经常和数据结构一起使用的。

说明②⇢如果你是从自动化或者机械的专业从事嵌入式的话,如果你的业务一旦设计到了数据结构那么你就会非常的吃力,所以是有必要学习数据结构的。当然,如果你是软件开发的话那就更需要学习数据结构了。

说明③⇢博主个人认数据结构是编程最重要的基本功没有之一,注-这个相较于计算机专业的学生来说是的。

说明④⇢面试以及校招当中经常问到、提升编程能力。

总结-数据结构真的非常重要、非常重要、非常重要。注意⇢这里博主说了③遍可见我认为对数据结构的重视成度。对于大多数工科专业如果你想要让你的编程语言能力编程能力更上一层楼的话,我的建议是一定要学习数据结构

相关文章:

【数据结构】何为数据结构。

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2022博客之星T…...

【P57】JMeter 保存响应到文件(Save Responses to a file)

文章目录 一、保存响应到文件(Save Responses to a file)参数说明二、准备工作三、测试计划设计 一、保存响应到文件(Save Responses to a file)参数说明 可以将结果树保存到文件 使用场景:当结果太大,使…...

Visual Studio 2022 v17.6 正式发布

Visual Studio 17.6 正式发布,这个最新版本提供了一系列强大的工具和功能,旨在使你能够制作出最先进的应用程序。 提高生产力 通过 Visual Studio 2022,目标是帮助你在更短的时间内完成 IDE 内的所有开发任务,在这个版本中&…...

std::chrono时间处理

std::chrono是C11引入的标准库,用于时间的计算和处理。它按照ISO8601标准定义了多个时间类,例如:duration(持续时间)、time_point(时间点)和clock(时钟)。以下是一些常见…...

ieda codeformatV2.xml

ieda codeformatV2.xml 目录概述需求: 设计思路实现思路分析1.codeformatV22.codeformatV23.codeformatV24.codeformatV25.数据处理器 拓展实现 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&…...

Hbase

java客户端 导入maven依赖 XML<dependencies> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency>…...

[golang 微服务] 5. 微服务服务发现介绍,安装以及consul的使用,Consul集群

一.服务发现介绍 引入 上一节讲解了使用 gRPC创建微服务,客户端的一个接口可能需要调用 N个服务,而不同服务可能存在 不同的服务器,这时&#xff0c;客户端就必须知道所有服务的 网络位置&#xff08;ipport&#xff09;&#xff0c;来进行连接服务器操作,如下图所示: 以往的做…...

【数据结构】哈希应用

目录 一、位图 1、位图概念 2、位图实现 2.1、位图结构 2.2、比特位置1 2.3、比特位置0 2.4、检测位图中比特位 3、位图例题 3.1、找到只出现一次的整数 3.2、找到两个文件交集 3.3、找到出现次数不超过2次的所有整数 二、布隆过滤器 1、布隆过滤器提出 2、布隆过…...

【 Python 全栈开发 - WEB开发篇 - 31 】where条件查询

文章目录 一、where条件查询1.关系运算符查询2.IN关键字查询3.BETWEEN AND关键字查询4.空值查询5.AND关键字查询6.OR关键字查询7.LIKE关键字查询普通字符串含有%通配的字符串含有_通配的字符串 一、where条件查询 MySQL 的 where 条件查询是指在查询数据时&#xff0c;通过 wh…...

Android系统的Ashmem匿名共享内存子系统分析(5)- 实现共享的原理

声明 其实对于Android系统的Ashmem匿名共享内存系统早就有分析的想法&#xff0c;记得2019年6、7月份Mr.Deng离职期间约定一起对其进行研究的&#xff0c;但因为我个人问题没能实施这个计划&#xff0c;留下些许遗憾…文中参考了很多书籍及博客内容&#xff0c;可能涉及的比较…...

谈一谈冷门的C语言爬虫

C语言可以用来编写爬虫程序&#xff0c;但是相对于其他编程语言&#xff0c;C语言的爬虫开发可能会更加复杂和繁琐。因为C语言本身并没有提供现成的爬虫框架和库&#xff0c;需要自己编写网络请求、HTML解析等功能。 不过&#xff0c;如果你对C语言比较熟悉&#xff0c;也可以…...

基于状态的维护(CBM)如何推动设备效率提高?

基于状态的维护&#xff08;Condition-Based Maintenance&#xff0c;CBM&#xff09;是一种先进的维护策略&#xff0c;通过实时监测和分析设备的状态数据&#xff0c;预测设备故障并采取相应的维护措施。CBM基于数据驱动的方法&#xff0c;能够提高设备的可用性、降低维修成本…...

DC LAB8SDC约束四种时序路径分析

DC LAB 1.启动DC2.读入设计3. 查看所有违例的约束报告3.1 report_constraint -all_violators (alias rc)3.2 view report_constraint -all_violators -verbose -significant_digits 4 (打印详细报告) 4.查看时序报告 report_timing -significant_digits 45. 约束组合逻辑(adr_i…...

学生考试作弊检测系统 yolov8

学生考试作弊检测系统采用yolov8网络模型人工智能技术&#xff0c;学生考试作弊检测系统过在考场中安装监控设备&#xff0c;对学生的作弊行为进行实时监测。当学生出现作弊行为时&#xff0c;学生考试作弊检测系统将自动识别并记录信息。YOLOv8 算法的核心特性和改动可以归结为…...

【基于容器的部署、扩展和管理】 3.2 基于容器的应用程序部署和升级

往期回顾&#xff1a; 第一章&#xff1a;【云原生概念和技术】 第二章&#xff1a;【容器化应用程序设计和开发】 第三章&#xff1a;【3.1 容器编排系统和Kubernetes集群的构建】 3.2 基于容器的应用程序部署和升级 3.2 基于容器的应用程序部署和升级 3.2 基于容器的应用程…...

Jmeter 实现 grpc服务 压测

一、Jmeter安装与配置 网上有很多安装与配置文章&#xff0c;在此不做赘述 二、Jmeter gRPC Request 插件安装 插件下载地址&#xff1a;JMeter Plugins :: JMeter-Plugins.org 将下载文件解压后放到Jmeter安装目录下 /lib/ext 然后在终端输入Jmeter即可打开 Jmeter GUI界面…...

深入源码分析RecyclerView缓存复用原理

文章目录 前言四级缓存 源码分析缓存一级缓存&#xff08;mChangedScrap和mChangedScrap&#xff09;二级缓存&#xff08;mCachedViews&#xff09;三级缓存&#xff08;ViewCacheExtension&#xff09;四级缓存&#xff08;mRecyclerPool&#xff09;缓存池mRecyclerPool结构…...

内网隧道代理技术(一)之内网隧道代理概述

内网隧道代理技术 内网转发 在渗透测试中&#xff0c;当我们获得了外网服务器&#xff08;如web服务器&#xff0c;ftp服务器&#xff0c;mali服务器等等&#xff09;的一定权限后发现这台服务器可以直接或者间接的访问内网。此时渗透测试进入后渗透阶段&#xff0c;一般情况…...

设计图形用户界面的原则

1) 一般性原则&#xff1a;界面要具有一致性、常用操作要有快捷方式、 提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可 逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息 显示方式与数据输入方式的协调一致 2) 颜色的使用&#xff1a;颜色…...

1:操作系统导论

1.1操作系统的定义 •Anoperatingsystemactsanintermediarybetweenuserofacomputerandthecomputer hardware. ◦ 操作系统充当计算机⽤⼾和计算机硬件之间的中介 •Thepurposeofanoperatingsystemistoprovideanenvironmentinwhichausercanexecute programsinaconvenientandeff…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

[拓扑优化] 1.概述

常见的拓扑优化方法有&#xff1a;均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。 常见的数值计算方法有&#xff1a;有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。 将上述数值计算方法与拓扑优化方法结合&#…...