K:绪论

数据结构——第一章:绪论 学习目标: 了解并理解数据,数据元素,数据结构,逻辑结构,存储结构,算法及算法设计-分析-时间复杂度等知识点。 1、绪论 一、数据结构的概念及其内容 数据结构是带有结构的数据元素的集合,其中的结构是指数据元素之间的相互关系,即数据的组织形式。 数据(data):描述客观事物的数,字符以及能输入计算机中并被计算机处理的符号的集合。如:整数,实数,字符串,当... 阅读详情

Ps:本专题主要用于记录在学习过程中所学习到的知识点及所遇到的问题及对问题的理解和解答。用于记录学习过程中学到的知识点的文章,其标题用K(knowledge)开头,用于记录实践过程中所遇到的问题及其问题的理解和解答的文章,标题用Q(question)开头。

欢迎各位大佬指出本文章的问题所在,同时欢迎转载本系列博文,只需在文章开头处著名转载的出处即可。

概念:

在学习数据结构前,可以首先简单的了解下何为数据,数据元素,数据项,数据对象,及其各个概念之间的联系。最后了解下数据结构的概念。

数据:数据是对客观事物的符号表示,所有能被输入到计算机中,且能被计算机处理的符号的总称;是计算机操作对象的集合。是计算机处理的信息的某种特定的符号表示形式。

数据元素:是数据(集合)中的一个“个体”,是数据结构中讨论的基本单位,不同场合也叫做结点(节点),顶点,记录。

数据项:是数据元素的组成部分,一个数据元素可以由若干个数据项组成。

数据对象:是性质相同的数据元素的集合。

Ps:数据对象中的数据元素不会是孤立的,而是彼此相关的,这种彼此之间的关系成为“结构”

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

Ps:可以忽略以上的各个概念,其并不影响对数据结构的学习,由于个人习惯,在学习任何东西的时候,都会习惯性的去了解清楚其相关的背景。

逻辑结构及其分类:

(1)数据的逻辑结构是指各个数据元素之间的逻辑关系,是呈现在用户面前的,能够感知到的数据元素的组织形式

(2)根据数据元素之间的逻辑关系的特性,可以将数据结构分为如下4类:

1.集合 2.线性结构 3.树形结构 4.图形结构

(3)逻辑结构可用二元组形式定义为Data_Structures=(D,R),其中D为数据元素的有限集合,R为D上关系的有限集合

存储结构及其分类:

(1)数据的存储结构(物理结构)是数据的逻辑结构在计算机中的实现。它包括数据元素值在计算机中的存储表示和逻辑关系在计算机中的存储表示这两个部分,是依赖于计算机的

(2)数据元素之间逻辑关系的存储表示有4种:

1.顺序存储方式 2.链式存储方式  3.索引存储方式  4.散列存储方式

对于顺序存储方式,其特点:顺序存储方式是指将所有的数据元素存放在一片连续的存储空间中,并使逻辑上相邻的数据元素其对应的物理位置也相邻。即数据元素的逻辑位置关系和物理位置关系保持一致。其可以进行随机的存取。

对于链式存储方式,其特点:链式存储方式不要求将逻辑上相邻的数据元素存储在物理上相邻的位置,即数据元素可以存储在任意的物理位置上,每一个数据元素所对应的存储表示由两部分组成,一部分存放数据元素值本身,另一部分用于存放表示逻辑关系的指针(即下一个元素的地址)。可以进行顺序存取。(因为其在获取下一个元素的时候,必须要求知道上一个元素,之后,通过上一个元素指向该元素的指针来获取该元素)

对于逻辑结构和物理结构之间的关系,其可以理解为一对多的关系,即一种逻辑结构可以采用多种物理结构来进行存储,也就是说,一种逻辑结构可以采用多种物理存储方式。

由于在接触数据结构的时候,不可避免的要求接触到基本的一些算法,为此,以下简单的介绍下算法的基本概念

算法,是对特定问题进行求解的步骤的一种描述。它是指令的有限序列,其中,每条指令表示一个或多个操作。

算法具有五个性质:有穷性,确定性,有效性,输入,输出。算法不一定都要求这五个性质都必须满足。但是,其前三个要求必须进行满足。因为不满足前三个要求的算法并没有什么价值。

算法设计的目标:正确性,可读性,健壮性,高效率(时间和空间)

算法评判的标准:时间复杂度和空间复杂度

对于时间复杂度,其一般采用大O的表示方法,其时间复杂度之间的关系如下:

1)多项式时间算法的时间复杂度:O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)(其中n—>∞,当然,这里的∞并不是数学意义上的无穷,在这只是用于表示”很大但是有限”的概念,下同)

2)指数时间算法的时间复杂度:O(2n)<O(n!)<O(nn)(其中n—>∞)

数据结构题集(严蔚敏版)题目——第一章 绪论 今天数据结构课程开课了,早就听说这门课的重要性,于是决定将 阅读详情

相关推荐

模式识别与机器学习课程笔记(1):绪论

《模式识别与机器学习》课程笔记(1):绪论 本课程面向EECS背景的研究生,需具备线性代数、概率统计、数据结构和编程基础。课程内容涵盖贝叶斯决策论、神经网络、深度学习等13个章节。模式识别旨在将对象分类到预定义类别,涉及特征提取、学习训练和分类识别三大核心问题。课程梳理了模式识别的发展历程,从1929年数字阅读机到当前深度学习主流技术。介绍了模式识别基本方法,包括统计模式识别、结构模式识别等主流技术,并区分了监督学习、无监督学习和强化学习等机器学习类型。课程强调特征选择与提取的重要性,以及分类器设计中决策边

Grow into a more wonderful you 1357

数据结构(一)

数据[Data]       用于描述客观事物的数值,字符等一切可以输入到计算机中,由计算机加工处理的符号集合。“information”凡是计算机所能处理的都称为数据。 数据元素[Data Element]        数据的基本单位,数据中的一个个体。处理时作为一个整体看待。 有些情况下,数据元素也称为元素,结点,顶点,记录。  数据项[Data Item]          构

allan_chan的专栏 723

算法与数据结构复习题 第一章 绪论

文章目录第一章 绪论书面作业一、判断题二、单选题三、程序填空 第一章 绪论 书面作业 一、判断题 1、数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。 (F) 解析: 逻辑结构可用不同的存储结构实现,“它依赖于计算机的存储结构”完全说不通。 2、算法和程序没有区别,在数据结构中二者是通用的。 (F) 解析: 算法与程序有区别,算法是解决问题的方法或步骤,而程序是用编程语言描述算...

好学者的博客 1万+

K:设计模式—绪论

设计模式:  设计模式是一种模式,在面向对象的语言中,它运用类与方法来达到目标。或许我们已经注意到,某些人的代码简洁而实用,那么他们究竟是怎样才能让代码拥有如此的简单之美?设计模式提升了代码的水准,通常会实用更少的类来完成目标。模式是思想的体现,而非具体的实现。  任何模式的核心要素在于它的意图,这才是运用模式的潜在价值。设计模式的意图在于用更为简便的方式表达需求。根据意图对模式进行分类,其情况

MyStringIsNotNull的博客 315

【数字信号处理】绪论+FFT

5-数字滤波器(处理手段),如何设计怎么建模,优化模型参数。1- Preliminery 引言。本来要算8个,现在算4个就够了。FFT是实现DFT的快速算法。拼装的overhead。3-如何处理数字信号。提升傅里叶变换的效率。

qq_41100635的博客 509

2024年客观题测试-第1章绪论_第1关 绪论客观题测试(一)(2),2024年最新腾讯T3亲自教你

7、被计算机加工的数据元素不是孤立的,它们彼此之间一般存在某种关系,通常把数据元素之间的这种关系称为()。A、规则B、结构C、集合D、运算8、在Data_structure=(D,R)中,D是()的有限集合。A、数据元素B、算法C、数据操作D、数据对象解:Data_Structure=(D,S)D是数据元素的有限集合。S是D上关系的有限集。9、以下关于数据结构的说法中错误的是()。A、相同的逻辑结构对应的存储结构必然也相同。

2401_84562529的博客 1309

寻找第K小的数

Description 输入n个数,求其中第k小的数。 思路:采用快排求解,代码如下 #include <time.h> #include <stdlib.h> #include <stdio.h> #include <string.h> //partition的作用是将小于povit的元素放左边,大于povit的元素放右边 int Partit...

weixin_46147758的博客 498

第1章:绪论

anyview数据结构第1章:绪论

LDH_0207的博客 571

客观题测试-第1章绪论

详解版详解版。

a61233的博客 1万+

达梦7实时主备集群

达梦7实时主备配置实时主备数据环境说明配置主库配置 dm.ini配置dmmal.ini配置dmarch.ini配置dmwatcher.ini配置dmwatcher.ini以mount方式启动主库设置OGUID修改数据库为primary模式配置备库 在服务器部署过程中,通常搭建有数据库主备集群,用于防备数据库服务器产生问题影响数据正常,在此,我们分享一下在虚拟机环境中模拟搭建实时主备的数据守护模式。 在搭建环境之前,需用户确认主备DM7的数据库已安装完成,且版本一致,同时还应注意各实例所在主机的操作系统位数、

g360382的博客 1022

MINI PCIE接口设计要点:

3.3Vaux(5pins):3.3V电源。PERST#信号通过外接复位电路,可实现模块复位。模块可以通过硬件方式或软件方式关闭射频通信(不包括 GNSS)。LED_WWAN#:(O)漏极开漏,低有效。:(I)低激活系统禁止射频信号(飞行模式),因此需加上拉。UIM_PWR (1 pin):(O)UIM的电源输出。SMB_DATA:SMBus2.0数据信号线。UIM_VPP:(O)A类设备的可变电源电压。SMB_CLK:SMBus2.0时钟信号线。UIM_RESET:(O)UIM的复位信号。

qq_40010777的博客 8245

绪论作业-K逆置

1. 写在前面 当时绪论作业有三个,但是只留存了一个,剩下的两个删了。数据结构绪论作业是比较简单的,并且不会计入总成绩,所以放心大胆写。 2. 题目要求 将数组按输入的数字K来进行逆置,最后剩余的个数不满K的数字不做变换。例如:1,2,3,4,5,6,7,8,9,0按2逆置为:2,1,4,3,6,5,8,7,0,9;按3逆置为:3,2,1,6,5,4,9,8,7,0。 3. 代码 #include <stdio.h> #include <stdlib.h> typede

BearPipy的博客 608

Python爬虫实战:5分钟搞定慢慢买历史价格查询(附完整代码)

本文提供了一份Python爬虫实战指南,教你如何快速编写脚本自动查询慢慢买网站的商品历史价格。文章详细拆解了环境准备、接口分析、核心代码实现及常见问题应对,并附有完整代码,帮助读者将爬虫技术应用于日常比价,实现高效购物决策。

weixin_29053577的博客 1014

项目绪论写作指南:从问题背景到技术选型

项目绪论作为技术方案的开篇,其核心价值在于清晰定义问题边界与技术路线。在软件工程领域,好的绪论需要遵循SMART原则设定可量化的目标,并通过决策树方法选择合适的技术栈。以微服务架构为例,当面临系统性能优化需求时,开发者需要从问题背景(如订单同步延迟)、技术选型(如Redis vs Kafka)到预期成果(如P99延迟<200ms)进行完整推导。实际应用场景中,电商大促期间的库存一致性保障或金融系统的实时风控处理,都依赖扎实的绪论作为技术决策依据。本文结合黄金圈法则与可视化工具链,详解如何避免数据失真、技术堆

weixin_30512965的博客 349

SAP-ABAP:SAP HANA性能神器FDA:是极速查询的引擎,也是CPU过载的元凶

在SAP S/4HANA的世界里,有一个被ABAP开发者们既爱又怕的特性——Fast Data Access(FDA),它能将性能提升百倍,也能让CPU瞬间飙升。本文将带您全面解剖这一核心机制。

baidu_35680696的博客 849

Linux存储软件栈剖析之第5篇:F2FS文件系统

F2FS是三星专为NAND闪存设计的开源文件系统,通过异地更新、磨损均衡等机制优化闪存特性。其架构采用层次化存储管理(Block→Segment→Section→Zone)和多日志区域设计,基于数据热度分类(热/温/冷数据)提升性能。核心创新包括节点地址表(NAT)解决级联更新问题,以及基于成本的垃圾回收算法。F2FS通过检查点机制确保崩溃一致性,并利用并行访问能力充分发挥闪存性能优势,显著降低写放大效应,延长设备寿命。

指尖动听知识库 199

【数据结构】绪论中的知识结构

DS绪论思维导图: 以下常用的复杂度关系: 即关系:2n>n2>nlogn>n>logn.2^n>n^2>nlog n>n>logn .2n>n2>nlogn>n>logn. K元素独立集问题(从点集S中选出K个元素满足相互独立): 检测点集S中不存在一条边O(k2)O(k^2)O(k2),选出1-k个元素子集O(nk)O(n^k)O(nk). ...

我的技术栈碎碎念空间 264

【人工智能】《Deep Dive into LLMs like ChatGPT 》—— Andrej Karpathy 第三阶段:强化学习(Reinforcement Learning, RL)

摘要:强化学习(RL)阶段通过让模型自主生成并验证答案,突破SFT阶段的模仿局限,使其在数学、代码等领域形成独特的推理路径。RL流程包括批量生成解答、自动批改筛选正确路径,并采用PPO/GRPO算法优化模型。模型会自发涌现自我检查、回滚等策略,显著提升正确率(如AIME竞赛准确率从15%升至56%)。与SFT模型相比,RL模型具备主动链式思维、验算能力,响应时间更长但效果更优,形成真正的“思考模型”。三阶段对比显示,RL通过可验证题的对错奖励机制,赋予模型超越人类范式的推理能力。

奶爸的编程之路,也就一周冷个三天 150

《数据结构》课程绪论

李春葆《数据结构教程》第一章绪论 数据结构的相关概念,及算法的时间(空间)复杂度分析

jsxyg63的博客 592

[Dify] 如何构建一个带评分功能的 Dify AI 教练系统

本文介绍如何利用Dify开源平台构建具备自动评分功能的AI教练系统。系统通过Prompt设计AI教练角色,使用OpenAPI定义评分工具接口,结合工作流编排实现提问、回答收集、评分和反馈的全流程。文章详细讲解了从AI教练身份设定、多维度评分标准设计到前端可视化展示的实现方法,并提供了可扩展建议,适用于语言训练、面试模拟等多种场景。该系统展示了Dify平台在构建智能化评估应用方面的优势,实现零代码开发专业AI教练解决方案。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 334

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

数据结构题集-第一章-绪论-第四部分-k阶斐波那契序列

k阶斐波那契序列第m项的值。

georangel 919

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

数据结构——绪论

算法评估和时间复杂度计算。摘要需简洁概括。注意字数限制。</think>本文介绍了数据结构的基本概念,包括数据元素、逻辑与存储结构,并讲解了算法评估标准,重点阐述时间复杂度的分类与计算方法,通过单层、嵌套及多层循环例题演示求解步骤,为后续学习奠定基础。

2301_80687320的博客 225

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

萌新的FPGA学习绪论-1

萌新的FPGA学习绪论-1

weixin_50965981的博客 310

机器学习绪论

针对一个特定任务(比如判断西瓜好坏、预测房价);设定明确的评判标准(比如 "判断正确的比例");通过分析大量历史数据(经验),让任务完成得越来越好。

ygyqinghuan的博客 734

人工智能绪论

随机交叉验证(Randomizing Cross Validation ): 与K折交叉验证不同,它不严格将数据划分为K个固定的子集,而是随机从数据集中抽样生成训练集和验证集。在训练过程中可能会生成多个模型(例如,不同的超参数配置或训练到不同的迭代次数),验证集用于比较这些模型的性能,选择。机器学习的程序:让机器人从数据(试错) 中学到行动指令,需要定义一个量化的代价函数,通过优化方法, 寻找最佳参数。不同类型的机器学习问题,需要定义不同的误差度量方法,作为评价模型的目标函数。模型选择与训练,模型优化。

m0_73802430的博客 688
上一篇: 代理模式
下一篇: K:(1)算法时间复杂度的简介
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值