当前位置: 首页 > news >正文

数据结构.

1:基本大纲

  1. 数据结构算法
  2. 线性表顺序表链表队列
  3. 二叉树遍历创建
  4. 查询方法排序方式

2:数据结构(逻辑结构,存储结构,操作(数据的运算))

2.1:数据:不是单一数值,与集合类似

        数据元素:数据基本单位,由若干数据项组成

        数据项:数据的最小单位

2.2:节点:数据元素

2.3;逻辑结构

线性关系:一对一      线性结构    --> 线性表:顺序表,链表 ,栈,队列

层次关系:一对多    树形结构    --> 树

网状关系:多对多     图状结构 --> 图

2.3:存储结构

2.3.1:顺序存储结构(数组,链式存储(链表))

3:链式存储结构

特点数据内存中不连续通过指针进行连接

链表结构体

struct  node_t
{int data;//数据域struct  node_t *next;//指针域, 指向自身结构体类型的指针
};

struct node_t A={1,NULL};

struct node_t B={2,NULL};

struct node_t C={3,NULL};

  1. A.next = &B;
  2. B.next = &C

3.1:索引存储结构

提高查找速度

索引表 + 数据文件

 3.2:散列存储

数据在存储的时候与关键码之间存在某种对应关系

存的时候按照对应关系存

取的时候按照对应关系取

4:操作: 增、删、改、查

二:算法

2.1:算法的特性:

1:有穷性:执行步骤有限

2:确定性:

3:可行性:有限时间内完成

4:输入和输出

2.2:如何评价算法好坏?

正确性:保证可以正确实现功能

易读性:容易被解读

健壮性:容错处理

高效性:可执行语句重复执行的次数来衡量算法是否高效(时间复杂度)

低存储性:占用空间少

2.3:时间复杂度

算法可重复执行语句执行的次数

T(n) = O(f(n))

T(n) //问题规模的时间函数

n //问题规模,输入量的大小

O //时间数量级

f(n) //算法的可执行语句重复执行的次数 用问题规模n的某个函数f(n)来表达

1

1+2+3++n

方法1

sum = 0;

for(int i = 1;i<=n;i++) n==100 10000

sum+=i; 100 10000

f(n) = n

T(n)=O(n)

方法2

等差数列{an}的通项公式为:an=a1+(n-1)d。前n项和公式为:Sn=n*a1+n(n-1)d/2或Sn=n(a1+an)/2 。

int sum = n(1+n)/2; n=100,1

f(n)=1

T(n)=O(1)

2

int i,j;

for(i=0;i<n;i++) //n

for(j=0;j<n;j++) //n

printf(“ok\n”);

T(n) = O(n^2);

例3:

int i,j;

for(i=0;i<n;i++)

for(j=0;j<=i;j++)

printf(“ok\n”);

i 次数

0 1

1 2

2 3

n-1 n

f(n) = 1+2+3+...+n = n(1+n)/2 = n/2 + n^2/2 ----> n^2

3:计算大O的方法

(1)根据问题规模n写出表达式 f(n)

  1. 只保留最高项,其它项舍去
  2. 如果最高项系数不为1,除以最高项系数
  3. 如果有常数项,将其置为1 //当f(n)的表达式中只有常数项的时候,有意义 f(n) = 8

f(n)=8 O(1)

//f(n) = 3n^5 + 2n^3 + 6*n^6 + 10

3.6空间复杂度

算法占用空间大小一般将算法的辅助空间作为衡量空间复杂度的标准。

算法占用的存储空间包括:

1)输入输出数据所占空间

2)算法本身所占空间

3)额外需要的辅助空间

顺序表总结

  1. 顺序内存中连续存储
  2. 顺序表长度固定#define N 5
  3. 顺序表查找数据、修改数据比较方便的,插入和删除麻烦

相关文章:

数据结构.

1:基本大纲 数据结构、算法线性表&#xff1a;顺序表、链表、栈、队列树&#xff1a;二叉树、遍历、创建查询方法、排序方式 2:数据结构&#xff08;逻辑结构&#xff0c;存储结构&#xff0c;操作&#xff08;数据的运算&#xff09;&#xff09; 2.1&#xff1a;数据&#xf…...

thinkphp5之sql注入漏洞-builder处漏洞

目录 适用版本 环境搭建 文件下载安装 配置文件修改 漏洞分析 适用版本 注&#xff1a;thinkphp版本&#xff1a;5.0.13<ThinkPHP<5.0.15 、 5.1.0<ThinkPHP<5.1.5 环境搭建 文件下载安装 在github上面下载相应版本&#xff0c;下载think文件&#xff0c;…...

30集 如何编写ESP32程序接入AIGC实现更多有趣的功能-《MCU嵌入式AI开发笔记》

30集 如何编写ESP32程序接入AIGC实现更多有趣的功能&#xff08;温度&#xff09;-《MCU嵌入式AI开发笔记》 前言 之前我们建立了ESP-IDF和ESP-ADF开发环境&#xff0c;验证了硬件&#xff0c;验证了AI-CHAT的AI聊天工程&#xff0c;并且深入学习了cmake编译过程&#xff0c;…...

【JUC】Java对象内存布局和对象头

文章目录 面试题Object object new Object() 谈谈你对这句话的理解&#xff1f; 对象在堆内存中存储布局权威定义&#xff08;周志明老师JVM第三版&#xff09;对象在堆内存中的存储布局详解对象头的MarkWord源码对象标记源码 对象内存布局&#xff08;使用JOL证明&#xff09…...

简单介绍一下css中transform的内容

在CSS中&#xff0c;transform属性用于对元素进行变换&#xff0c;包括旋转、缩放、倾斜和平移等操作。以下是transform属性中常用的属性&#xff1a; translate&#xff1a;用于元素的平移操作&#xff0c;可以指定元素在X轴和Y轴方向上的平移距离。 rotate&#xff1a;用于元…...

C 循环

C 循环 在C编程语言中&#xff0c;循环是一种控制结构&#xff0c;它允许我们重复执行一段代码多次。这是编程中非常基础且强大的功能&#xff0c;广泛应用于各种算法和数据处理的场景中。本文将详细介绍C语言中的循环概念&#xff0c;包括不同类型的循环语句及其使用方法。 …...

什么是设计模式?一文理解,通俗易懂!

前言 最近在学框架的时候&#xff0c;老师总是时不时带两句设计模式&#xff0c;什么工厂模式&#xff0c;单例模式&#xff0c;开发框架用到就提一嘴&#xff0c;但是没有细讲&#xff0c;为了搞懂啥是设计模式&#xff0c;为哈开发框架用到它&#xff0c;我就查找资料&#…...

doxygen制作接口文档

系列文章目录 文章目录 系列文章目录前言一、下载二、安装三、代码注释四、使用doxygen生成文档 前言 每次手动写接口文档太痛苦了&#xff0c;现在福利来了–doxygen Doxygen是软件开发中广泛使用的文档生成器工具。它自动从源代码注释生成文档&#xff0c;解析有关类、函数和…...

PDF怎么在线转Word?介绍四种转换方案

PDF怎么在线转Word&#xff1f;在数字化办公时代&#xff0c;文档的互换性变得尤为重要。PDF格式因其跨平台兼容性和版面固定性而广受欢迎&#xff0c;但有时我们可能需要将PDF文件转换为Word文档&#xff0c;以便进行编辑或进一步处理。以下是四种常见的在线PDF转Word的方法&a…...

大数据应用型产品设计方法及行业案例介绍(可编辑110页PPT)

引言&#xff1a;随着信息技术的飞速发展&#xff0c;大数据已成为推动各行各业创新与变革的重要力量。大数据应用型产品&#xff0c;作为连接海量数据与实际应用需求的桥梁&#xff0c;其设计方法不仅要求深入理解数据特性&#xff0c;还需精准把握用户需求&#xff0c;以实现…...

【Python零基础学习】Python环境安装和IDE选择

文章目录 前言一、Python介绍二、Python下载安装三、IDE选择VS CodePyCharm 四、打印Hello Python World使用cmd使用VS Code 总结 前言 本文是笔者学习Python语言的开篇文章了&#xff0c;Python语法相对比较简单&#xff0c;对编程初学者而言十分友好&#xff0c;应用极其广泛…...

【langchain学习】使用LangChain创建具有上下文感知的问答系统

探讨如何使用LangChain库创建一个上下文感知的问答系统。这个系统能够根据用户的聊天历史&#xff0c;将当前问题转化为一个独立的问题&#xff0c;接着根据上下文提供准确的答案。 1. 导入所需模块 from operator import itemgetter from config import llm # 从config文件…...

原神4.8版本升级计划数据表

原神4.8版本角色数据升级计划表 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>原神4.8版本升级计划…...

海南云亿商务咨询有限公司放大电商品牌影响力

在数字化浪潮席卷全球的今天&#xff0c;电商行业以其独特的魅力和无限潜力&#xff0c;成为了推动经济发展的重要力量。而在这片浩瀚的电商海洋中&#xff0c;抖音电商以其独特的短视频直播模式&#xff0c;迅速崛起为一颗璀璨的新星&#xff0c;引领着新一轮的消费潮流。作为…...

用exceljs和file-saver插件实现纯前端表格导出Excel(支持样式配置,多级表头)

exceljs在Jquery&#xff08;HTML&#xff09;和vue项目中实现导出功能 前言Jquery&#xff08;HTML&#xff09;中实现导出第一步&#xff0c;先在项目本地中导入exceljs和file-saver包第二步&#xff0c;封装导出Excel方法&#xff08;可直接复制粘贴使用&#xff09;第三步&…...

TIA博途_下载时提示密码错误,但是之前并没有设置过密码的解决办法

TIA博途_下载时提示密码错误,但是之前并没有设置过密码的解决办法 如下图所示,下载程序时提示:在线检查保护机密PLC组态数据的密码时出错。 原因: 自 TIA Portal V17 起,新增了安全向导用于帮助客户快速进行安全相关的设置。即保护机密的PLC组态数据功能导致出现下载异常。…...

使用消息队列、rocketMq实现通信

1背景 springboot框架&#xff0c; 2需求 后端需要调用一个类似于api这种作用的小工具&#xff0c;获得工具的返回值&#xff0c;后端再根据客户端的返回值进行更新数据操作 3讨论 1工具开发者使用的是python,将工具封装起来&#xff0c;暴露成web接口供后端调用 2方式一能…...

通过LLM大模型将「白雪公主的故事」转为图数据存储

&#x1f4a1; 本次将使用LLM大模型将「白雪公主的故事」转为图数据存储于neo4j数据库中&#xff0c;并展示图数据部分的效果 故事内容 很久很久以前&#xff0c;在一个遥远的王国里&#xff0c;有一位美丽的**王后**生下了一个皮肤像雪一样白皙、嘴唇像血一样鲜红的**女儿**…...

MyBatisPlus 第一天

数据库创建表 CREATE DATABASE mybatis_plus /*!40100 DEFAULT CHARACTER SET utf8mb4 */; use mybatis_plus; CREATE TABLE user ( id bigint(20) NOT NULL COMMENT 主键ID, name varchar(30) DEFAULT NULL COMMENT 姓名 , age int(11) DEFAULT NULL COMMENT 年龄 , email va…...

线程与多线程(二)

线程与多线程&#xff08;二&#xff09; 一、线程互斥1、相关概念 二、互斥锁1、介绍2、使用场景3、初始化&#xff08;1&#xff09;函数&#xff08;2&#xff09;概念 4、销毁&#xff08;1&#xff09;函数&#xff08;2&#xff09;概念 5、加锁&#xff08;1&#xff09…...

别再手动记数据了!组态王Kingview 7.5 SP6搭配Access数据库,实现工业数据自动存储与查询

工业数据自动化管理实战&#xff1a;组态王与Access的高效联动方案 在工业现场&#xff0c;数据采集与记录是保障生产稳定运行的基础环节。传统的手工记录方式不仅效率低下&#xff0c;还容易因人为因素导致数据错漏。我曾在一家化工厂亲眼目睹操作员因记录笔误导致整批生产参数…...

效率提升300%:OpenClaw+Phi-3-vision-128k-instruct重构我的学术工作流

效率提升300%&#xff1a;OpenClawPhi-3-vision-128k-instruct重构我的学术工作流 1. 从手动到自动的学术工作流革命 作为一名每天需要处理大量文献、实验数据和演示材料的科研工作者&#xff0c;我曾经花费近40%的工作时间在重复性文档处理上——截图标注、图表整理、笔记归…...

WuliArt Qwen-Image Turbo多场景:跨境电商多语言Prompt适配与本地化出图

WuliArt Qwen-Image Turbo多场景&#xff1a;跨境电商多语言Prompt适配与本地化出图 1. 项目概述 WuliArt Qwen-Image Turbo是一款专为个人GPU环境优化的高性能文生图系统。这个项目基于阿里通义千问的Qwen-Image-2512模型作为核心底座&#xff0c;并深度融合了专门开发的Wul…...

华为2288H V3服务器iBMC配置全攻略:从默认密码到ESXi安装一步到位

华为2288H V3服务器iBMC与ESXi部署实战指南 对于企业IT基础设施团队而言&#xff0c;华为2288H V3服务器的灵活配置与高效管理能力使其成为数据中心建设的理想选择。本文将深入解析从基础配置到虚拟化平台部署的全流程&#xff0c;特别针对iBMC智能管理系统和VMware ESXi安装提…...

点云特征提取入门:5分钟搞懂Voxel-based和Pillar-based的核心区别

点云特征提取入门&#xff1a;5分钟搞懂Voxel-based和Pillar-based的核心区别 想象一下&#xff0c;当你站在城市的高楼俯瞰街道&#xff0c;看到的车辆和行人就像散落在空间中的点。这些点如何被计算机"理解"&#xff1f;这就是点云特征提取要解决的问题。Voxel-bas…...

【飞机】倾转旋翼飞机齿轮箱建模与Matlab仿真(含非线性阻尼和立方摩擦效应)

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和…...

用Multisim 14.2仿真一个可调直流稳压电源:从变压器选型到波形调试全流程

Multisim 14.2仿真可调直流稳压电源&#xff1a;从元器件选型到波形优化的实战指南 在电子工程领域&#xff0c;仿真软件已经成为设计和验证电路不可或缺的工具。对于初学者而言&#xff0c;通过仿真可以快速理解电路原理、验证设计思路&#xff0c;而无需担心元器件损坏或安全…...

FPGA调试:除了SignalTap,你更应该试试Quartus自带的这个免费“信号发生器+逻辑分析仪”

FPGA调试实战&#xff1a;Quartus自带的轻量级调试利器In-System Sources and Probes Editor 在FPGA开发中&#xff0c;调试环节往往占据项目周期的半壁江山。当SignalTap II这类逻辑分析仪因资源占用过高而显得"杀鸡用牛刀"时&#xff0c;许多工程师会陷入两难——既…...

漫画脸描述生成保姆级教程:如何调试生成结果提升SD绘图匹配度

漫画脸描述生成保姆级教程&#xff1a;如何调试生成结果提升SD绘图匹配度 你是不是也遇到过这样的情况&#xff1a;脑子里有个超棒的二次元角色形象&#xff0c;但用AI绘图工具画出来总是差那么点意思&#xff1f;要么发型不对&#xff0c;要么表情奇怪&#xff0c;要么服装细…...

论文魔法盒:书匠策AI,期刊论文写作的“超级外挂”

在学术的奇妙世界里&#xff0c;论文写作就像是一场充满挑战的魔法冒险。尤其是期刊论文&#xff0c;它要求学者们不仅要有深厚的学术功底&#xff0c;还得掌握各种写作技巧和规范。不过&#xff0c;现在有了书匠策AI这个神奇的“魔法盒”&#xff0c;期刊论文写作不再是令人望…...