数据结构与算法书摘-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/7/28 19:25:31 阅读更多 →
腾讯50题第七题

腾讯50题第七题

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

2026/7/28 19:25:31 阅读更多 →
【C++】C++11 Lambda 表达式

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

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

2026/7/28 19:25:31 阅读更多 →

最新新闻

TPIC7710EVM评估套件:汽车电子电机驱动ASIC的硬件设计与GUI软件实操指南

TPIC7710EVM评估套件:汽车电子电机驱动ASIC的硬件设计与GUI软件实操指南

1. 项目概述与核心价值在汽车电子和工业控制领域&#xff0c;当我们拿到一颗功能复杂的专用集成电路&#xff08;ASIC&#xff09;时&#xff0c;最头疼的问题往往不是芯片本身&#xff0c;而是如何快速、准确地验证它的功能&#xff0c;并将其集成到自己的系统中。数据手册上的…

2026/7/28 19:36:35 阅读更多 →
你绝对不能错过的面试小技巧之一

你绝对不能错过的面试小技巧之一

面试中常见的小技巧之一&#xff1a;从基础说起&#xff0c;由浅入深&#xff0c;体现思维逻辑&#xff08;延长面试时间&#xff09; 那么就以java小白最最最最熟悉的SpringMVC框架为例来进行说明吧 **1. 谈谈SpringMVC的执行流程。**写在前面 首先针对这个问题相信小伙伴们都…

2026/7/28 19:36:35 阅读更多 →
1.10- 异常处理 try except

1.10- 异常处理 try except

在python中&#xff0c;程序运行时出现错误后程序会终止&#xff0c;这种错误不是程序设计的错误&#xff0c;它是在程序运行时的运行错误&#xff0c;称为运行时错误(Runime Error)&#xff0c;处理这种错误要用到try/except异常处理语句。 例如&#xff1a; import math ninp…

2026/7/28 19:36:35 阅读更多 →
11. Container With Most Water 盛最多水的容器

11. Container With Most Water 盛最多水的容器

原题链接&#xff1a;https://leetcode.com/problems/container-with-most-water/ 找出在n条垂直于x轴的线中能够组成的最大容器面积的两条线&#xff0c;容器不能倾斜&#xff0c;n的最小值为2. 解题思路&#xff1a; 1.暴力破解 设起始点为i&#xff0c;终点为j&#xff0c;找…

2026/7/28 19:36:35 阅读更多 →
Json粘贴为类

Json粘贴为类

为vs引入一个名为&#xff1a;“Paste Json as Code-quicktype” 的插件 新建一个cs文件 复制 json 文本到剪切板 依次点击编辑→Paste Json as Code

2026/7/28 19:36:35 阅读更多 →
突破网盘限速瓶颈!夸克网盘提速+直链解析方法大汇编

突破网盘限速瓶颈!夸克网盘提速+直链解析方法大汇编

在日常传输和获取大型文件时&#xff0c;许多人经常会遇到数据接收进度缓慢、耗时过长的困扰。想要让数据传输的效率得到质的提升&#xff0c;关键在于对传输环境、链路通道以及本地软硬件状态进行全方位的调优。以下为您梳理的几个核心策略&#xff0c;能够帮助您显著提升文件…

2026/7/28 19:35:35 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿&#xff01;3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑&#xff1a;把几百页的财报、法规、技术手册扔给向量库&#xff0c;问一个具体问题&#xff0c;搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了&#xff0c;要么藏在几十条结果的最下面。语义相似≠真正相关&#xff0c;这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营&#xff0c;从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候&#xff0c;每天刷半小时抖音&#xff0c;手动把爆款视频的口播敲进备忘录&#xff0c;一条2分钟的视频得花十来分钟&#xff0c;碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档&#xff0c;可以直接使用&#xff01;系统支持图片、视频、摄像头等多种方式检测裂缝&#xff0c;功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像&#xff01; pubg绝地求生目标检测数据集 1分类&#xff1a;e_body&#xff0c;14905个标签&#xff0c;txt格式 共计14244张图&#xff0c;99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别&#xff1a; allies enemy tag图片总量&#xff1a;7247张训练集&#xff1a;5139张验证集&#xff1a;1425张测试集&#xff1a;683张标注状态&#xff1a;全部已标注&#xff0c;即拿即用数据格式&#xff1a;支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻