数据结构(宝宝级别:顺序表-》通讯录)

【北大核心-代码复现】基于 VMD-FFCM-iTransformer 光伏功率短期预测 阅读详情

兄弟们,我又来了。今天我们来谈一谈顺序表。我们应该知道顺序表是属于数据结构的,那么什么是数据结构呢,首先数据结构,一定要有数据吧,但是这些数据的排列方式,就是数据结构。就比如,你养了一群鸭子,你想要数一数有多少只鸭子,你就要小鸭子排队,对不起鸭。那你就可以用一间房子,里面有一个一个的小笼子,一只鸭子放一个笼子,是不是数笼子就行了。像这样就是把一个一个的数据分装到一个一个的空间。这个就有利于管理。然后我们再把这个笼子编一个号,那么我们就可以精准的查找一只鸭子(有人就说了,有什么事要精准的找鸭子啊,如果你非要这样说的话,我想你可以换一种叫法,这个数据是用户信息,这个就要精准的找了吧,但凡找错了,就是冤假错案),而找到了他,我们就可以对他做一系列的事(增删查改)

那么什么是顺序表呢。我们也没有什么高端的说法就是按名字来嘛!但是我们需要先假想一些数据把他们按顺序排列起来的那个表,不就是叫顺序表嘛。(而在此之前温馨提示这个是线性表)

顺序表向下分为静态顺序表和动态顺序表,静态顺序表就像一个数组,还不是可变数组,是一个定长数组,因此他有一个致命的缺点就是不知道开多大空间,大了就浪费,小了就不够。你再想,一个公司是不是都是从小公司一步一步走来的,因此静态的缺点就出来了,一个小公司需要开像大公司一样的空间吗,所以我们不看这个,我们看动态顺序表。

但是我个人感觉这个动态也没有动的很厉害,但是比起静态来说还是好的多。

你想象你创建了一个int类型的数组,假设一开始有4个元素的空间(不是一开始就装了4个元素)然后你往里面写数据当你写了4个的时候是不是就写不下了。那么这时我们就开始realloc空间,但是我们要开多大呢,我们有一个2倍开辟法,原理是

总结就是2倍效率高。所以我们假如买手机什么的电子产品你看内存是不是都是128G,然后就是256G,512G。

现在开始我们就已经具备了写顺序表的能力了。但是我们还是从简单开始讲,首先,顺序表有3个最最最最基本的3个元素,一个可以记录这个顺序表一共有多少个元素的类型(一般是int,二班你随意),最后一个是记录开辟了多大空间的类型,最后一个就是一个记录数据的是一个指针,这个指针的什么类型的指针看你自己,为什么我们要指针呢,而不是给一个数组就行了。你想如果给了一个数组给你,我还要这个顺序表干嘛,直接一个数组不是全部搞定了(这个就是脱裤子放屁),所以我们不难给数组,我们给指针,指向一个空间,这个空间可以随我们造,而且这个空间也没有限定有多大,但是你不能搞一个你内存都没这么大的空间,你这样搞,你不报错,谁报错。这个时候就看你动态内存管理有没有学好了(你说没学过,我又没发这种文章,为了你不去看别人的,我就勉为其难告诉你,创建用malloc,修改用realloc就行了,这两个可以把别人的功能大部分包含进去)所以我们现在有3个变量(类型不同),是不是就要用结构体了把他们合并啊,就是这样

SLDataType这个是我自己定义的一个类型,我可以让他随时变为任何类型,那为什么要这样设计呢(首先你要知道每一个设计的背后都有一个吃亏的人,你知道一个晚上老板要换类型,成百上千个类型,要我一个一个的手改,不是我是我朋友,是一种多么痛苦的事吗,啊啊啊啊)兄弟们,你最好记到不然下次你碰到的时候,朋友不会同情只会发朋友圈来安慰你。

现在就是向通讯录的过度了。首先,我们先说指向一个数组的指针,假如这个数组是int,内存种就

对不对,我们的每一个元素,就是int,我们可以存其他的类型吗,可以啊,char,float,但是我们可以结构体吗,还真可以。但是我们还是不会用数组(脱裤子放屁了 ),所以我们还是用指针,我们用一个指向结构体的指针,而这个结构体就是我们的联系人信息(电话,年龄,名字,地址),所以我们先建立一个结构体,

然后我们再把这个类型设为指针的类型,对不对,对就错了。你想一想,你想不想改类型改一个晚上,所以我们要新建一个关键字来代表这个类型

下面就开始写程序了。

我们要明确一点,我们要写通讯录,怎么开这个头呢。有思路吗。嗯,没。那没思路的时候,我给你们提供一个万能的思路,就是想一个我们熟悉的东西,但是和他很类似。我们想那个东西我们是怎么开头的,以及后面的过程。所以你们现在可以想到什么呢和通讯录类似,细心的小伙伴可能就可以发现,我前面一直在拿通讯录(顺序表)和数组做对比。所以我们就可以用数组来对比通讯录。

所以我们想数组是怎么用是,首先数组我们要用的话是不是要先定义出来,所以我们就知道了通讯录我们需要先定义出来,数组我们定义出来了是不是就可以使用了,使用后面就是我们的增删查改,但是不同的是数组我们计算机会在程序执行完后自动销毁,但是通讯录需要我们手动销毁

总结就是我们通讯录主要分为3步一,初始化。二,主要功能实现。三,销毁。

开始我们的表演

一,初始化

我们要初始化就要先观察他里面要什么样的元素,才好初始化对不对。你我们就来看,

有人就会说为什么看这个,不是还有一个struct吗,你想那个是数据的内容而我们在什么时候才要初始化数据的内容呢,是不是我们写录数据的时候,那为什么要初始化这个struct呢。因为这个SeqList如果你仔细看的话就可以发现,我的数据是存不了的,你看这里面那个类型可以存数据,有人说指针啊,指向了一个地方,不就可以存放了吗,看到这里应该知道了吧。这个指针虽然指向了一个地方,但是计算机没有为他分配空间啊,所以我们初始化的目的就出来了,就是为他开辟一个空间,一般来说为4个单位。我们看下面的类型,一个是内容的个数,一个是开辟空间可以存放的内容个数。我们在后面加数据的时候,对这两个数要进行相应的操作。如果你不想操作一个随机数的话,就先给他赋一个值。所以size为0,capacity为4。

还有一种思路,就是把指针赋为空,capacity赋为0.等到我们后面实际要用的时候,在根据情况来赋值。我就是这种写法

二,销毁

讲完了创建我们讲销毁,不为别的,就为简单。

销毁不就是把我们开辟的空间释放掉,指针赋值为空,size和capacity赋值为0.就行了。

三,主要功能

接下来就是主要功能,我们的功能就围绕增删查改,还有一个展示。这个5个来说。

1.增。

我们要增加联系人的时候,你会怎么想,是不是就打印提示信息给玩家,告诉他们怎么填,然后再scanf把信息收集起来,再放到SL类型创建的sl变量里面。

就是这样,但是我还是说心急吃不了热豆腐。我们存放数据是不是要空间啊,这个空间够不够啊,如果你是像我这样写的话,可能就直接发现了,因为我一开始就没有开辟空间啊。所以我们要先检查空间够不够。检查空间就判断一下capacity和size,如果size都等于capacity了,是不是空间就不够了啊,但是0 = 0 啊,这样就是还没开辟,就还有再来一个判断,size是不是为0,因此,和我不一样写法的兄弟有福了,计算机可以少判断一个,和我一样写法的兄弟,也不会亏待你们,对这下面看有没有什么问题。

到现在,我们的数据存放好了,但是存在变量里面还没有放到通讯录存放数据的地方去啊。

所以,我们来学习一种方法就是尾插,那怎么插呢,非常简单,就是把数据放到指针指向的空间,然后size再加加就行了。

严谨的我们不要忘记断言了噢。

虽然一个插入我分了3个函数但是,你们像写再一个函数还是可以的,但是像我一样的话要,注意函数内部创建的变量是临时变量,出了函数会销毁的,所以shuru函数里面一定要包含插入函数。才能把数据插入sl变量里面,你说放入sl变量为什么可以保存下来,sl变量不会销毁吗。哎……,传值调用和传址调用要分明白。还有就是大家看了我写的尾插,如果你们有兴趣的话,那你可以试一试头插

插入的大板块讲完了还有最后一个大板块就是删除,就还有一些细枝末节了

2.删除

我们要删除一个东西,要先干什么。想一想,上面我都没说要干什么,这次我还特别关心了一下你们,问了一句。

好,现在应该像到了吧,就是查找。我们要先删除一个数据,肯定要先看这个数据存不存在啊,他不存在你删个毛,是不是。那我们来讲查找。其实查找是很简单的,我们这个只有一个查找的方法,就是一个一个的比对,反正我的想不到(如果有大佬的话,评论区谈一谈吧)所以我们就直接上代码

这个就是假如找到了,就返回下标,如果没有找到的话就返回-1

我们后面就可以使用这个函数,我建议大家把这个函数像我这样写不要一个函数直接就把查找的全部完成了,因为我一开始就这样写的,后面发现在删除里面还有用到这样的函数,但是为了查找的全部实现,导致删除用不了,要从新写一遍。

删除也没什么好说的,就是如果删了一个不是最后面的数,你要把删后面的数据全部往前面移动。

轻舟已过万重山,后面的基本没上面说的。就是一个修改,我是这样的

你们怎么写看你们,也可以算为你们提供了思路

最后就是展示了一个for循环,大家都会就直接上代码了

但是你可以优化一下格式,我们后面见,拜拜

ubuntu下安装多版本cuda及版本切换教程 首先,从官网下载所需版本的cuda安装包,下载链接。选择对应版本后,会跳转到该版本的配置信息页面。比如我是ubuntu20.04系统,已经安装好了cuda10.0,但是现在还需要用到cuda9.0。那么,在选定版本后,配置信息如下图所示(由于Version选项中没有20.04,因此我们随便选一个即可,这里选的16.04,这一选项不会影响后面的安装),Installer Type选择为runfile(因为使用deb文件进行安装的话,可能会将已经安装的较新的显卡驱动给替换掉),选择好之后点击Base Insta 阅读详情

相关推荐

rk3566-11.0新增device分区

1.增加块设备 2.修改根目录节点权限 3.开机启动自动挂载 增加块设备 1.修改parameter.txt文件,新增块设备大小及命名 device/rockchip/rk356x/rk3566_r/parameter.txt FIRMWARE_VER: 11.0 MACHINE_MODEL: rk3566_r MACHINE_ID: 007 MANUFACTURER: rockchip MAGIC: 0x5041524B ATAG: 0x00200800 MACHINE

weixin_51115260的博客 3383

【数据结构】基于比较的排序算法 - 交换排序

本文介绍交换排序中的冒泡排序与快速排序。冒泡排序通过相邻元素比较交换,实现升序,时间复杂度最坏为O(N²),空间复杂度O(1),稳定且适合小规模有序数据。快速排序采用分治思想,以基准值划分区间,平均时间复杂度O(N log N),空间复杂度O(log N),但不稳定,实际应用中性能优异,可通过随机基准、小区间优化等提升效率。

careathers的博客 329

傅里叶红外(FT-IR):Origin数据处理、光谱绘图、曲线优化、图形美化

双击 X 轴,选择“轴线和刻度线”,设置粗细为“2”(较常用的粗细度),主刻度和次刻度为“朝内”,然后在此对话框内选择左轴,设置粗细为“2”,主刻度和次刻度为“无”,上轴和右轴同左轴。(4)在第二个图层基础上新建第三个图层,针对第二组数据重复上述中(1)和(2)的操作,再添加第三组数据的折线图,并重复上述中(3)的操作。FTIR 光谱上的峰只有相对的强弱,因此只分析一个光谱上的一个峰的强度大小并无意义,一般分析两个光谱在同一位置的峰强相对大小,或者分析同一光谱不同位置的峰强相对大小并与另一光谱进行比较。

qiushireader的博客 3932

pandas 深度入门:从数据结构到一份真实销售报表

本文系统讲解Pandas核心应用,从三分钟安装到完整月度报表生成,涵盖数据读取、清洗、筛选、分组聚合、表连接、透视表与时间序列等13个关键环节。强调“先看数据再动手”,掌握Series/DataFrame/Index结构本质,熟练运用loc/iloc、merge校验、agg/transform区别,通过真实案例实现高效报表自动化,告别手动Excel操作。最后提供性能优化与高频报错解决方案,助力读者快速上手,真正实现“写二十行代码,跑三秒出结果”。

信息安全领域优质创作者|操作系统领域专家 266

PyTorch模型生产部署:ONNX/Triton导出与高可用架构实战

机器学习模型部署本质是训练环境与生产环境之间的运行时契约建立过程,涉及序列化协议、推理引擎兼容性、动态批处理及资源隔离等核心问题。ONNX凭借标准化算子集和跨框架支持,成为平衡兼容性、性能与可维护性的首选导出格式;Triton Inference Server则通过原生多框架支持、动态batching和热加载能力,显著提升GPU利用率与服务SLA保障水平。在金融风控、电商推荐等高要求场景中,基于ONNX+Triton+K8s的分层架构可稳定支撑千级QPS与毫秒级P95延迟,同时满足模型热更新、可观测性与版本

weixin_33857679的博客 448

Token算力工厂建设方案:从GPU集群到计量计费的全链路设计

在AI应用从“租核”走向“买Token”的范式转换中,算力交付的核心指标已不再是vCPU或GPU实例,而是单位时间内的Token产出量与单Token成本。这一变化推动基础设施从资源租赁向计件生产演进,要求GPU集群、推理引擎、调度系统、计量计费等模块像工厂产线一样协同运转。本文从硬件异构混部、存储网络设计、推理引擎调优、Token网关与配额管理、稳定性治理等维度,系统拆解如何构建一座可量化、可计费、可扩展的Token算力工厂,并给出分三期落地的推进节奏,帮助架构师与技术管理者在AI基础设施建设中实现成本可控

weixin_29095587的博客 262

工单系统的数据结构化:故障分类体系设计与报表可用性

很多团队上完工单系统半年,会发现一个尴尬的事实:单子照常在走,报表却始终出不来。导出的 Excel 几千行,看不出趋势、算不出口径、答不了"哪类故障占大头"。问题几乎都不在系统,而在数据模型的第一层——。这篇文章把这件事拆开讲:自由文本为什么会失效、分类体系怎么分层、表怎么建、老数据怎么迁、上线前怎么验收。

ITyunwei0987的博客 278

数据中心光模块升级实录:从200G QSFP56到400G QSFP-DD的踩坑指南

本文记录了数据中心从200G QSFP56升级至400G QSFP-DD光模块的完整实战经验。文章深入剖析了升级过程中面临的兼容性、链路预算、布线、散热与功耗管理等核心挑战,并提供了具体的解决方案与排坑指南,为高速网络升级提供了宝贵的实践参考。

butter的博客 479

[C++高阶数据结构·图论下] 最短路径:为什么“挑最小的”一定正确?

本文系统对比最小生成树与最短路径的核心差异,聚焦三类最短路算法:Dijkstra(非负权、贪心确认)、Bellman-Ford(可负权、反复松弛)、Floyd(全源、分层中转)。核心区别在于:MST 关注“连通所有点”的最小代价(边数固定),而最短路关注“两点间路径最短”(边数可变)。关键反直觉点是:负权对 MST 无害,却使 Dijkstra 失效——因“绕远更近”破坏贪心前提。算法本质反映三种处理不确定性的策略:确认式(Dijkstra)、迭代修正(Bellman-Ford)、分层逼近(Floyd)。强

Tairitsu_青云 515

Node-RED教程(二):Node-RED的面板的操作

Node-RED系列(二):Node-RED的面板的操作 要使用Node-RED去搭建一个物联网平台,链接设备,设备通信,就必须要先熟悉Node-RED的这种面板,对于一个新的项目,在动手做之前一点想对这个的技术的文档有足够的了解做起来才能游刃有余。本期我给大家介绍一下Node-RED的各种面板,熟悉这些面板后,在后续的搭建Iot服务中,会举重若轻,同时该系列的文档,难度会逐步加深,知道了本章解释的名称后对后续文章的理解有很大帮助。 面板1:默认节点选项列表 安装Node-RED后默认的节点分为这5大类

知无涯 1万+

晶体管-二极管三极管MOS管选型参数总结

二极管三极管和MOS管,是电路中常用的控制电流电压的基本电子元器件。电路世界中晶体管的选型,需要考虑的参数多种多样,这些参数的选择会直接影响到电路的性能、稳定性、成本等多个方面。本文对二极管三极管和MOS管的选型参数进行详细介绍并总结。

fydar的博客 884

数据结构:9.Map和Set

有的讲解会说这里key是标识作用,这种说法其实没有太大意义,就算知道了他是标识value的作用又如何,在实际的使用过程中,我们只会根据具体的效果选择使用的方法等,不会执着于“标识”这种说法。2.由于哈希函数的设计原则太过理论,它仅仅是在认为:这些通过关键码算出来的index不同 的情况下设计的,然而这种理论化的设计原则在遇到冲突时,恰恰就出现了问题,而我们能做的,就是降低冲突率。虽然哈希表的使用过程中存在冲突,但是在实际的使用过程中,哈希表的冲突率是不高的,冲突的个数是可控的。

2602_95646088的博客 192

PoE 的三大国际标准:PoE、PoE+、PoE++

很多人知道 PoE 能“一根网线,既供电又传数据”,但鲜少有人能说清楚:PoE 供电到底分几种标准?差别有多大?哪些设备要用 PoE,哪些必须上 PoE+ 或 PoE++?今天,我们就来一次彻底的“拆解”,把 PoE 的三大国际标准——讲得明明白白,顺便也帮你厘清网络工程中的常见“供电疑惑”。

网络技术联盟站 1547

[C++高阶数据结构·图论上] 最小生成树:为什么“选边”和“选点”是两条路?

本文系统讲解最小生成树(MST)的核心思想与两大算法:Kruskal与Prim。强调MST目标是用最小权值总和连接所有顶点形成一棵树,而非单边最小。通过三条构造准则(用图中边、恰n-1条边、无环)统一框架。Kruskal按边贪心,依赖并查集判环,适合稀疏图;Prim按点扩张,利用割集特性天然避免成环,需起点,适合稠密图。两算法本质差异在于“判环”机制与数据结构选择,且与最短路径问题在连通性、负权处理上截然相反,需分篇厘清。

Tairitsu_青云 221

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Vue3 低代码移动表单设计器实战(二):缩放画布下的拖拽系统与树状级联数据结构

本文深入剖析Vue3低代码表单设计器在缩放画布下的拖拽失效问题,揭示SortableJS在CSS Transform下坐标崩溃的数学根源。通过自研独立视觉克隆壳层与逆向几何补偿算法,实现精准拖拽;采用扁平数据存储+运行时树状计算结构,解决级联依赖与深克隆难题,确保逻辑一致性与性能优化,为复杂低代码系统提供可复用的工程范式。

NanChen的博客 339

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

排序算法深度笔记(上):比较类排序的思想演进与代码实现

与。本文聚焦前者 —— 也就是通过元素间两两比较来确定相对顺序的排序算法,从最朴素的 O (n²) 基础排序,到工业级主流的 O (nlogn) 进阶排序,逐层拆解设计思想、带注释的代码实现与边界细节。当我们理解了比较排序的性能边界,也就自然引出了非比较排序的存在意义。所有代码均遵循统一的实现规范:入口函数前置空数组与单元素边界校验,基于数组原地修改,主函数附带可直接运行的测试用例,与练习代码风格完全对齐。

2401_87069538的博客 607

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 81

【数据结构】树和二叉树(下):讲透四种遍历、递归返回值与经典题

🔥 星光编译者📚 学习专栏:《C/C++ 成长笔记》《Linux 实践手册》《数据结构与算法》🌄 向云端飞扬,编译属于自己的代码星河。☕ 写在开篇你好,这里是星光编译者。这里记录我在C/C++、Linux、数据结构与算法学习中遇到的真实问题、亲手验证过的代码,以及那些容易被忽略的实现细节。比起简单罗列结论,我更愿意从问题出发,把一个知识点的来由讲清楚,把“为什么会这样”和“应该怎样解决”说明白,让每一次踩坑都沉淀成可以复用的经验。如果这篇记录能帮你少绕一点路。

星光编译者的技术博客,专注 C/C++、Linux、数据结构与算法。 397

数据结构:双向链表实现,链表与顺序表的对比

本节讲解数据结构双向链表,链表和顺序表的特点对比,顺便解释了一下什么是CPU缓存和内存碎片

lei_jiale的博客 369

【数据结构-2】顺序表的实现

线性表是一种数据结构,它分为逻辑结构和物理结构,在逻辑结构上线性表是呈线性的,数据是是连续存储的;在物理结构(物理空间)上,线性表不一定是连续存储的。线性表的实现,主要分为数组和链式结构。顺序表是线性表的一种实现方式,顺序表在逻辑结构和物理结构上都是连续的。顺序表的底层实现是数组。

weixin_44218929的博客 207

数据结构(2)

不同点顺序表链表(单链表)存储空间上物理上一定连续逻辑上连续,但物理上不一定连续随机访问支持:O(1)不支持:O(N)任意位置插入或删除元素可能需要搬移元素,效率低 O(N)只需修改指针指向插入动态顺序表,空间不够时需要扩容和空间浪费没有容量的概念,按需申请释放,不存在空间浪费应用场景元素高效存储 + 频繁访问任意位置高效插入和删除。

likexuec的博客 150

数据结构—B树

一棵m(m>2)阶的B树,是一棵平衡的M路平衡树,可以说空树或满足以下6点。1.根节点至少有两个孩子2.每个分支节点都包含k-1个关键字和k个孩子,ceil(m/2)<=k<=m;孩子比关键字多一个ceil向上取整3.每个叶子节点都包含k-1个关键字,ceil(m/2)<=k<=m;4.所有的叶子节点在同一层。5.每个节点中的关键字从小到大排列,节点当中k-1个元素正好是k个孩子包含元素的值域划分。6.节点的结构是{n,A0,K1,A1,K2,........Kn,An};

fish_xk的博客 131

数据结构:顺序表

顺序表是用一段地址连续的存储单元依次存储线性表的数据元素的线性结构。它是线性表的顺序存储实现,在C语言中通常用数组来实现。

2502_92937908的博客 340

数据结构:单链表

单链表是一种链式存储的线性表。它由一系列节点数据域:存放数据元素指针域:存放指向下一个节点的指针内存不连续,节点分散存储插入删除效率高(O(1),前提是已定位到位置)查找效率低(O(n)),不支持随机访问相比数组,多消耗指针域空间// 定义节点结构体int data;// 数据域// 指针域,指向下一个节点} Node;// 或者使用 typedef 简化int data;// LinkList 是指向 Node 的指针类型中必须写,因为此时 typedef 尚未生效,不能写Node。

2502_92937908的博客 475

LangGraph 的 State 深入解析:从数据结构到工程实践

LangGraph 支持多种方式定义 State 的 Schema,各有适用场景。维度关键点数据结构TypedDict / Pydantic / dataclass 三种定义方式更新语义增量返回,无 Reducer 覆盖,有 Reducer 合并合并机制Reducer 决定并行与多次写入的结果边界设计输入/内部/输出 Schema 分离持久化Checkpointer 支持续跑、人工介入、时间旅行。

张晨光老师的播客 303

【数据结构-1】例解算法复杂度

数据结构是计算机存储、组织数据的方式,指相互之间一种或多种特定关系的数据元素的集合。通俗地说,数据结构就是数据元素+数据元素之间的关系+在上面可以执行的操作。

weixin_44218929的博客 232
上一篇: 数据在内存中的存储(各种各样的都有)
下一篇: 双向链表的写法和使用的优缺点以及我自认为可以改善的地方
star050913
博客等级 码龄3年 277粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值