2.1——线性表

LangChain4j + MCP:从工具协议到生产级 Agent 这两年,很多团队都已经把「大模型问答」接入到系统里了:前端一个输入框,后端调一下 OpenAI / DeepSeek / 本地模型,返回一段回答——这类 「简单问答型」AI 功能它只能说,不会做:不会主动查数据库,不会调用你的接口,不会帮你真正执行脚本;面对复杂一点的需求,比如「帮我生成这个报表的 SQL 并执行一下」,普通 ChatGPT 式的问答就开始力不从心了。而Agent 智能体想解决的,就是这件事:不只是回答你「怎么做」,而是能自己思考、自己决定要不要用工具、再用工具把事做完。 阅读详情

数据结构——线性表

1. 顺序表的数学定义

若将线性表记为(a1, …, ai+1, ai, ai+1, …, an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前去元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=1,2,3,…,n时,ai有且仅有一个直接前驱。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F5zzJu1v-1590541593025)(http://p3glgyim1.bkt.clouddn.com//img/clip1517483073.png)]

2. 线性表的顺序存储结构

线性表的顺序存储结构,指的是一段地址连续的存储单元一次存储线性表的数据元素。线性表的的允许赤影传说示意图如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AxZkkKAg-1590541593026)(http://p3glgyim1.bkt.clouddn.com//img/clip1517483650.png)]

描述顺序存储结构需要三个属性:

  • 存储空间的其实位置:数组data,它的存储位置就是存储空间的存储位置。

  • 线性表的最大存储容量:数组长度MaxSize。

  • 线性表的当前长度:length。

    ​

3. 插入算法的思路

  • 如果插入位置不合理,抛出异常;
  • 如果线性表长度大雨数组长度,则抛出异常或动态增加容量;
  • 从最后一个元素开始向前遍历到第i个位置,分别将它们都想后移动一个位置;
  • 将要插入元素填入位置i处;
  • 表长加1;
Status ListInert(SqList *L, int i, EemType e)
{
	int k;
	if(L->length == MAXSIZE)
		return ERROR;
	if(i < 1 || i > L->length + 1)
		return ERROR:
	if(i <= L->length)
	{
      	for(k = L->length - 1; k >= i-1; k--)
      		L->data[k+1] = L->data[k];
	}
	L->data[i - 1] = e;
	L->length++;
	return OK;
}

4. 删除算法的思路

  • 如果删除位置不合理,抛出异常;
  • 去除删除元素;
  • 从删除元素位置开始遍历到最后一个元素位置,分别将它们都向前移动一个位置;
  • 表长减1;
Status ListDelete(SqList *L, int i, EemType *e)
{
	int k;
	if(L->length == 0) /*线性表为空*/
		return ERROR;
	if(i < 1 || i > L->length + 1) /*位置不正确*/
		return ERROR:
	if(i <= L->length) 
	{
      	for(k = i; k < L->length; k++)
      		L->data[k-1] = L->data[k];
	}
	L->length--;
	return OK;
}

5. 线性表顺序存储结构的优点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t8Eu28gu-1590541593027)(http://p3glgyim1.bkt.clouddn.com//img/clip1517485159.png)]

6. 线性表的链式存储结构

线性表的链式存储结构是用一组任意的存储单元存储线性表的元素,这组存储单元可以是连续的,也可以是不连续的。这就意味着,这些数据元素可以存在内存未被占用的任意位置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rcEQYmzO-1590541593028)(http://p3glgyim1.bkt.clouddn.com//img/clip1517485545.png)]

​ 以前的顺序结构中,每个数据元素只需要存数据元素信息就可以了。现在链式结构中。除了要存数据元素信息外,还有存储它的后继元素的存储地址。我们把存储数据元素信息的域称为数据域,把存储直接后继位置的成为指针域。指针域中存储的信息乘坐指针或链。这两部分信息组成数据元素ai的存储映像,称为结点(Node)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-biB4LHHZ-1590541593030)(http://p3glgyim1.bkt.clouddn.com//img/clip1517485825.png)]

7. 头指针与头结点的异同

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G3LC8pMg-1590541593030)(http://p3glgyim1.bkt.clouddn.com//img/clip1517485912.png)]

8. 获取链表第i个数据的算法思路

  1. 声明一个结点p指向链表第一个结点,初始化j从1开始;
  2. 当j < i时,就遍历链表,让p的指针向后移动,不断指向下一结点,j累加1;
  3. 若到建表末尾p为空,则说明第i个元素不存在;
  4. 否则查找成功,返回结点p的数据。
Status GetElem(LinkList L,int i,ElemType *e)
{
  	int j;
  	LinkList p;
  	p = L->next;
  	j = i;
  	while(p && j < i)
  	{
     	p = p->next;
     	++j;
  	}
  	if(!p || j > i)
  		return ERROR;
  	*e = p->data;
  	return ok;
}

9. 单链表第i个数据插入结点的算法思路

  1. 声明一结点p指向链表第一个结点,初始化j从1开始;
  2. 当j < i时,就遍历链表,让p的指针向后移动,不断指向下一个结点,j累加1;
  3. 若到链表末尾p为空,则说明第i个元素不存在;
  4. 否则查找成功,在系统生成一个结点s;
  5. 将数据元素e赋值给s->data;
  6. 单链表的插入标准语句s->next=p->next;p->next=s;
  7. 返回成功。
Status ListInsert(LinkList *L,int i,ElemType e)
{
  	int j;
  	LinkList p,s;
  	p = *L;
  	j = 1;
  	while(p && j < i)
  	{
      	p = p->next;
      	++j;
  	}
  	if(!p || j > i)
  		return ERROR;
  	s = (LinkList)malloc(sizeof(Node));
  	s->data = e;
  	s->next = p->next;
  	p->next = s;
  	return OK;
}

10.单链表的删除算法思路

  1. 声明一结点p指向链表第一个结点,初始化j从1开始;
  2. 但j < i时,就遍历链表,让p的指针向后移动,不断指向下一个结点,j累加1;
  3. 若到链表末尾p为空,则说明第i个元素不存在;
  4. 否则查找成功,将欲删除的结点p->next赋值给q;
  5. 单链表的删除标准语句p->next=q->next;
  6. 将q结点中的数据赋值给e,作为返回;
  7. 释放q结点;
  8. 返回成功。
Status ListDelete(LinkList *L, int i, EleType *e)
{
  aint j;
  LinkList p, q;
  p = *L;
  j = 1;
  while(p->next && j < i)
  {
    	p = p->next;
    	++j;
  }
  if(!(p->next) || j > i)
  	return ERROR;
  q = p->next;
  *e = q->data;
  free(q);
  return OK;
}
把 LDB 讲透:SAP ABAP 逻辑数据库的结构、事件模型、动态选择与现代替代方案 摘要:SAP中的Logical Database(LDB)是一种将表组织成树形结构并统一生成选择屏幕的技术,通过事件驱动方式向报表程序传递数据。虽然被标记为过时,但在理解标准代码和优化性能方面仍有价值。LDB通过SE36事务码创建,其结构包含层级关系、选择屏幕和数据库程序。报表通过NODES声明和GET事件处理数据,支持动态选择以减少数据库访问。在S/4HANA和ABAP Cloud环境下,建议使用CDS View和ABAP SQL等现代方案替代LDB,以提升可测试性和架构清晰度。 阅读详情

相关推荐

AutoGenTestCase - AI大模型生成测试用例

AI技术助力高效软件测试:AutoGenTestCase工具介绍 传统手工测试存在效率低、覆盖不全等痛点。AutoGenTestCase工具集成DeepSeek、通义千问等AI大模型,能快速解析需求并自动生成标准化测试用例,将数小时工作缩短至分钟级。该工具部署简单,仅需配置APIKey即可运行,支持多种测试用例类型比例设置,并输出Markdown和Excel格式的测试用例。通过GitHub或网盘下载后,用户可按照教程完成APIKey配置、需求文档上传和用例生成等操作,显著提升测试效率与覆盖完整性。

YIqifeibaQI的博客 348

(笔记)数据结构2.1-线性表及其实现(二)

线性表的链式存储实现 广义表 多重链表

zhazhayimei的博客 262

攻防世界 misc题GFSJ1129-【您看我还有机会吗?】

我们发现了隐藏内容,一开始我以为那个英文就是flag,提交后发现不对,然后我想只有一张图片然后图片上的隐写内容又不是flag,那必定还有什么文件被隐藏了,于是我们打开VMware并启动Ubuntu,使用binwalk分析一下有没有隐藏文件,我们要在Terminal中分析,如下。我们发现里面有一个flag.txt文件,我们尝试提取里面内容,但发现又要密码,我们想起了之前图片上的隐藏内容,我们将那段英文输入(包括空格和符号,在VMware中输入密码不会有显示,你看到的就像没输入一样),然后我们看到如下。

大数据专业,关注 AI 安全与数学建模。记录 Web 安全、对抗攻击、隐私保护等安全实践,以及从经典模型到智能方法的建模思考。用数学思维理解 AI,用 AI 方法反哺安全与建模。 1095

【图解数据结构】 线性表

1.线性表的定义 若将线性表记为(a1,...,ai-1,ai,ai+1,...,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。 线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。 2.线性表的顺序存储结构 线性表的顺序存储结构,指的是一段地址连续的存储单元依次存储线性表的数据元素。 线性表的顺序存...

weixin_33887443的博客 305

开源滑翔伞升降速度表:基于STM32与传感器融合的DIY飞行仪表

传感器融合是现代嵌入式系统与物联网设备中的核心技术,它通过整合多个传感器的数据,利用滤波与估计算法,获得比单一传感器更精确、更可靠的环境感知能力。其技术价值在于提升系统的鲁棒性、精度和上下文理解能力,广泛应用于无人机导航、可穿戴设备、工业监测及智能驾驶等领域。本文聚焦于一个具体的工程实践案例——开源多功能滑翔伞升降速度表(Open-Vario),该项目巧妙地运用了**卡尔曼滤波器**进行气压与GNSS数据的融合,以精确计算升降率,并基于**FreeRTOS**实时操作系统构建了一个稳定、可扩展的嵌入式平台,

weixin_33657398的博客 176

暗黑地牢modfiles.txt文件生成工具

暗黑地牢modfiles.txt文件生成工具引言方法工具源码基本步骤 引言 玩过暗黑地牢mod,并手动修改了mod中文件的话,如果不同步修改modfiles.txt文件,就会引起各种问题,典型的比如马车刷不出mod英雄,商店和boss都不再出现mod饰品,怪物贴图丢失出现黑块等,要解决这个问题,就要修正mod文件夹下的modfiles.txt文件 方法 针对修改量大小,一般有几种方法: 如果修改较少,而且你还记得修改了哪几个文件,找到这几个文件,右键属性,查看大小,要用的是括号里面的字节数,然后打开mod

lttclaw_的专栏 5002

数据结构——2.1线性表及其实现

一、引言 线性结构是数据结构里面最基础最简单的一种数据结构类型,最典型的一种叫做线性表。 举个例子: 如何用程序设计语言来表示这样的一个一元多项式及其相应的操作运算呢? 顺序存储结构直接表示 用一个数组存储第i项的系数ai,而指数对应这个分量的下标 这样带来的问题是什么呢?假如我要表示x的两千次方,数组的大小就需要2001项,而其中很多都是含有0的项,这样就造成了存储空间的浪费。 而且在做加...

优快云_dzh的博客 577

CODESYS V3.5 SP17编程环境全攻略:从安装到多语言编程实战

本文全面解析CODESYS V3.5 SP17编程环境,从安装配置到多语言编程实战技巧。详细介绍了运行时环境设置、六种IEC 61131-3语言的特性对比与混合编程策略,以及高级功能开发如自定义算法模块和实时通信配置。适合工业自动化工程师快速掌握这一强大工具。

weixin_30632089的博客 489

线性表顺序表示查、插、删、改

#include "stdlib.h"#include "stdio.h"#define OK 1#define ERROR 0#define OVERFLOW -1#define List_INIT_SPACE 100#define List_INC_SPACE 10typedef int ElemType;typedef struct {

zhangpeng12340302的专栏 561

告别BAPI!深入SAP S/4HANA BP框架:cl_md_bp_maintain维护客户主数据的正确姿势与性能优化

本文深入解析SAP S/4HANA中cl_md_bp_maintain框架的高效实践与架构设计,对比传统BAPI方式,展示其在业务伙伴(BP)主数据维护中的性能优势与现代化特性。通过详细代码示例和性能测试数据,揭示如何利用该框架实现批量处理、集中校验及智能错误恢复,助力企业从ECC向S/4HANA平滑迁移。

weixin_30596735的博客 358

SpringBoot文件上传实战:MultipartFile重复读取的3种方法(附避坑指南)

本文详细介绍了SpringBoot中处理MultipartFile重复读取的3种实用方法,包括字节数组缓存法、临时文件法和流重置法,并提供了避坑指南和性能优化技巧。特别适合需要多次读取上传文件内容的开发者,帮助解决InputStream流只能读取一次的问题。

weixin_28710999的博客 398

线性表的定义

线性表的定义 线性表: 零个或多个数据元素的有限序列。 3.1 开场白 各位同学,大家好。 今天我们要开始学习数据结构中最常用和最简单的一种结构,在介绍它之前先讲个例子。 我经常下午去幼儿园接送儿子,每次都能在门口看到老师带着小朋友们,一个拉着另一个的衣服,依次从教室出来。而且我发现很有规律的是,每次他们的次序都是一样。比如我儿子排在第5个,每次他都是在第5个,前面同样是那个小女孩,后

小程博客 6589

A Macro- and Micro-Hierarchical Transfer Learning Frameworkfor Cross-Domain Fake News Detection

近年来,社交媒体上假新闻的快速和广泛传播对人们的日常生活构成了越来越大的威胁[6, 14, 19]。为了有效打击假新闻,自动检测假新闻变得至关重要[39]。新闻内容[11, 16, 20, 27]和用户互动(即用户互动)[1, 24, 34]。基于这些类型的数据,提出了单领域假新闻检测,它从新闻文章、用户互动或两者中提取有效特征,以识别单个新闻领域内新闻的真实性(即新闻是真是假)(例如,政治新闻或娱乐新闻)。

qq_52053775的博客 155

数据结构:设线性表中每个元素有两个数据项k1和k2,现对线性表按一下规则进行排序:先看数据项k1,k1值小的元素在前,大的在后;在k1值相同的情况下,再看k2,k2值小的在前,大的在后。满足这种要求的

题目: 设线性表中每个元素有两个数据项k1和k2,现对线性表按一下规则进行排序:先看数据项k1,k1值小的元素在前,大的在后;在k1值相同的情况下,再看k2,k2值小的在前,大的在后。满足这种要求的排序方法是( ) A.先按k1进行直接插入排序,再按k2进行简单选择排序 B.先按k2进行直接插入排序,再按k1进行简单选择排序 C.先按k1进行简单选择排序,再按k2进行直接插入排序 D.先按k2进行简单选择排序,再按k1进行直接插入排序 答题思路: 首先我们要明确题意,这一题的排序是针对k1和k2全体进

我想喝可乐的博客 8125

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

2.1 线性表

ADT List{数据对象:D={ ai | ai ∈ElemSet, i=1,2,…,n, n≥0 }数据关系:R1={ |ai-1 ,ai∈D, i=2,…,n }{结构初始化}操作结果:构造一个空的线性表 L。{结构销毁}初始条件:线性表 L 已存在。操作结果:销毁线性表 L。引用加工( 线性表置空 )( 改变数据元素的值 )( 插入数据元素 )( 删除数据元素 )}ADT List。

李云开的博客 488

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...

2.1线性表

目录 一、什么是线性表? 1.定义 2.特点 二、线性表的抽象数据类型描述 三、线性表的顺序存储实现(顺序表) 1.特点 2.定义结构体 3.主要操作的实现 四、线性表的链式存储实现 1.特点 2.主要操作的实现 五、广义表 1.特点 2.广义表的结构体定义 3.广义表的应用 六、多重链表 1.特点 2.应用 一、什么是线性表? 1.定义 线性...

小草莓的魔法笔记 738

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

《数据结构(C语言版)第二版》第二章-线性表(2.1-2.5)

这里写目录标题

qq_44883214的博客 1361

第2章 线性表——2.1 线性表的类型定义

线性表是最常用且最简单的数据结构。线性表中的数据元素可以是很多种简单的字符、字母等和稍微复杂其它种。 例如:26个英文字母的字母表: (A,B,C,D,E……Z) 是一个线性表,表中的数据元素是单个字母字符。 稍微复杂的线性表中,一个数据元素可以由若干个数据项组成。在这种情况下,常把数据元素称为记录(record),含有大量记录的线性表又称为文件(file)。 例如:一个学校的学生信息登

suen1987的专栏 937

2.1线性表综述

线性表整体内容把握概述 内容概述:整体介绍线性表,包括线性表的定义和基本操作,线性表的实现分类简介(具体程序另文),线性表的应用等。 定义线性表是指具有相同数据类型的n(n⩽0)n(n\leqslant 0)个数据元素的有限序列。n表示表长,当n=0n=0表示该线性表为空表。用L表示线性表,表示如下:L=(a1,a2,...ai,....an)L=(a_1,a_2,...a_i,....a_n)

Armmyer的博客 358

2.1 线性表的定义

来源于王道《数据结构与算法》课件内容,持续更新,敬请关注!

m0_59110131的博客 470

2.1 线性表及其实现

理解即可,感觉不是很重要(´~`)“线性表(Linear List)”:由同类型数据元素构成有序数列的线性结构表中元素个数称为线性表的长度线性表没有元素时,成为空表表起位置为表头,表末位置为表尾。

2401_89254193的博客 612

数据结构1-2(基于数组实现线性表)

实现底层基于数组的一个线性表: 1.首先列出线性表的功能(增、删、改、查) 使用接口来定义功能。 2.实现接口,实现线性表的功能 public interface Mylist1_2 { void add(Object element); void delete(Object element); void delete(int index); void updata(int index,Object newElement); boolean contain(Obje

qq_51443233的博客 281
上一篇: 1.30——内存管理、预处理、结构体
下一篇: 2.3——链表
Superain丶
博客等级 码龄11年 9粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值