数据结构与算法书摘-1绪论
数据及其逻辑结构基本概念数据(Data):信息的载体,是对客观事物的符号表示.数据元素(Data Element):数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理.数据对象(Data Object):性质相同的数据元素的集合,是数据的一个子集.逻辑结构(Logical Structure):数据元素之间的逻辑关系,通常数据的逻辑结构有四种基本逻辑结构:数据结构数据结构(Data Structire):没有个一公认的定义,我读的这本书中的定义:相互之间存在一种或多种特定关系的数据元素的集合,一般包括三个方面:数据的逻辑结构,数据的存储结构(数据的物理结构),数据的运算数据类型:明显或隐含地规定在程序执行期间各个变量或表达式的取值范围,存储方式,以及允许进行的运算,其中又可以分为简单(基本)数据类型和结构类型存储实现与运算实现存储实现:基本目的就是建立数据结构在计算机内部的表示和实现,包括数据以及逻辑关系的物理表达,也被称为存储结构或物理结构.常用的四种常用的存储结构类型:结构类型定义特点顺序存储结构(Sequential Storage Structure):逻辑上相邻的节点在物理位置上也相邻的存储单元,节点之间的逻辑关系则由存储单元的相邻关系来表达(主要用于线性数据结构)节点只存储数据本身,节点之间的逻辑关系没有占用额外空间,存储空间利用率高;数据结构中的每个节点的存储地址可以通过公式直接计算,第i个节点的存储地址为:LiL0(i-1)*B.L0为第一个节点的存储位置,B为每个节点所占用的存储单位个数;对节点进行插入删除运算,会引起大量的节点移动,操作不便链式存储结构(Linked Storage Structure):逻辑相邻节点在物理上不一定相邻,节点之间的逻辑关系由附加的指针来表达,指针指向相邻的节点,通过指针把所有节点串联起来(链式存储结构一般有两部分组成,数据域,指针域(可以有多个指针))除了数据域,还包含存储域的节点指针,比顺序存储结构浪费空间;物理上不必相邻可用于线性表,树,图等多种逻辑结构的存储;节点进行删除和插入比较灵活,不必移动节点,只需要移动指针指向就行索引存储结构(Index Storage Structure):附加一个索引表,索引的每一项称作索引项利用索引项的值来确定节点的实际存储单元地址,索引项一般形式为关键字,地址,关键字唯一标识一个节点检索速度快,直接对节点进行随机访问;插入删除快,只需要移动存储索引中对应节点的存储地址;附件索引表,空间开销大散列存储结构(Hash Storage Structure):根据节点的关键字(散列函数,一般取模)直接计算出节点的存储地址检索,增加删除节点快;因为通过散列函数会出现节点单元冲突碰撞,增大时间和空间开销运算实现运算实现依赖于存储结构算法描述和算法分析算法:是一组有穷的且定义明确的规则;算法的五个基本特征:特征描述有穷性(Finiteness);一个算法必须在执行又穷步数之后结束;并且每一步在有穷时间内完成确定性(Dfiniteness);算法中的每一步都由明确的定义,且无多义性可行性(Effectiveness);算法中的每一步都是可行的,可通过已经实现的基本操作执行有限次得以实现输入(Input);有零个或者多个输入,初始化参数输出(Output)有零个或者多个输出参数好的算法还要考虑真确性,可读性,健壮性,高效性;算法描述自然语言,流程图,程序设计语言,伪代码等.算法分析(Algorithm Analysis)算法分析就是对算法所消耗的资源进行估算;方法:事后统计法和事前分析估算法;算法控制结构(顺序,分支,循环)原操作(固有数据类型的操作)评估算法:时间复杂度和空间复杂度O(1)常数阶O(log2n)对数阶O(n)线性阶O(nlog2n)O(n2)平方阶O(n3)立方阶O(2n)指数阶O(n!)

相关新闻

Spring Boot 入门之路(10)--- Spring Boot 中的定时任务

Spring Boot 入门之路(10)--- Spring Boot 中的定时任务

在 Spring Boot 中实现定时任务,我们可以有两种选择,一是 Spring 自带的定时任务处理器 Scheduled 注解,另一种则是使用第三方框架 Quartz。下面我们分别对这两种方法进行模拟。 1 定时任务处理器 Scheduled 注解 首先我们在启动类添加 Ena…

2026/10/26 21:23:45 阅读更多 →
腾讯50题第七题

腾讯50题第七题

盛最多水的容器 问题描述 给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共…

2026/10/27 21:03:20 阅读更多 →
【C++】C++11 Lambda 表达式

【C++】C++11 Lambda 表达式

目录1. 直观对比&#xff1a;为什么我们需要 Lambda&#xff1f;2. 核心语法拆解3. 捕获列表4. Lambda 底层5. 陷阱&#xff1a;不能相互赋值在处理复杂数据结构的排序或使用 <algorithm> 库时&#xff0c;我们经常需要自定义比较逻辑。在 C98 时代&#xff0c;如果我们想…

2026/10/25 12:02:33 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年&#xff0c;我大部分时间都在跟浏览器标签页打交道&#xff0c;直到第一次把桌面应用跑起来&#xff0c;才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词&#xff0c;最开始是在某段时间频繁出现在同事的讨论里&#xff0c;一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档&#xff0c;主要面向智能锁安装人员、终端用户及售后维护者&#xff0c;帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件&#xff0c;大小4.37MB&#xff0c;内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统&#xff0c;整车要求空载跑到8m/s&#xff0c;电机转速已经拉到额定点&#xff0c;驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令&#xff0c;转速纹丝不动&#xff0c;三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年&#xff0c;用它写过嵌入式驱动、做过游戏服务端&#xff0c;也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词&#xff0c;我其实挺感慨的——这门语言的难点从来不是语法多&#xff0c;而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书以PDF格式发布&#xff0c;适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开&#xff0c;先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能&#xff0c;再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历&#xff1a;翻开源码注释、论文摘要或者一份专业报告&#xff0c;每个字都认识&#xff0c;连在一起却像天书。想找人聊聊&#xff0c;身边要么没人懂&#xff0c;要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型&#xff0c;几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 13:55:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 19:19:37 阅读更多 →