Linux编程 1/2 数据结构

数据结构:
    程序 = 数据结构 + 算法

1.数据结构:
    1.时间复杂度:
        数据量的增长与程序运行时间增长所呈现的比例函数,则称为时间渐进复杂度函数简称时间复杂度

        O(c) > O(logn)> O(n) > O(nlogn) > O(n^2) > O(n^3) > O(2^n)

    2.空间复杂度:

2.类型:
    1.逻辑结构
        线性结构(一对一)
            表
        非线性结构(一对多、多对多)
            树 
            图
    2.存储结构
        顺序存储
        链式存储
        散列存储
        索引存储

3.数据结构:
    顺序表
    链式表(重点)
        单向链表
        双向链表
        循环链表
        内核链表
    顺序栈
    链式栈
    顺序队列
    链式队列

 二叉树

    排序查找算法

4.顺序表:
    对数据增删改查

5.链式表:
    链式存储的表状结构,链表可以分为:单向链表、双向链表、循环链表、内核链表

    优点:
        1.只要空间足够,理论上可以存放无限个数据
        2.链表插入和删除效率高
    
    缺点:
        1.数据访问不太方便(空间不连续)
        2.会使结构所占存储空间变大
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全防御保护 Day4

要点一:防火墙的智能选路 就近选路: 在访问不同运营商的服务器时直接通过对应运营商的链路,以此来提高通信效率,避免绕路。 策略路由(PBR): 这是一种基于用户定义的策略(如业务需求、…

【MATLAB源码-第128期】基于matlab的雷达系统回波信号仿真,输出脉压,MTI,MTD等图像。

操作环境: MATLAB 2022a 1、算法描述 ​雷达(Radio Detection and Ranging)是一种使用无线电波来探测和定位物体的系统。它的基本原理是发射无线电波,然后接收这些波从目标物体上反射回来的信号。通过分析这些反射波&#xff0…

基于 MATLAB 语言的 BP 神经网络的改进算法

摘 要: 针对标准 BP 算法存在的缺陷, 本文给出了基于 MATLAB 语言的 BP 神经网络几种改进的算法. 阐述了各种 BP 算法的优化技术原理、优缺点, 并就它们的训练速度和内存消耗情况作了比较. 建议在多数 BP 神经网络训练 时, 先尝试使用 Levenberg- Marquardt 算法, 其次是 BFGS …

STM32的分类和选型

F系列(主要用于普通应用) STM32F0xx:低成本、低功耗,适用于成本敏感和低功耗的应用。STM32F1xx:中低端微控制器,具有丰富的外设和良好的性能。STM32F2xx:高性能微控制器,适用于要求…

二维数组的学习

前言 在前面我们学习了一维数组,但是有的问题需要用二位数组来解决。 二维数组常称为矩阵,把二维数组写成行和列的排列形式,可以有助于形象化的理解二维数组的逻辑结构。 一、二维数组的定义 二维数组定义的一般格式: 数据类型 数…

【英语趣味游戏】填字谜(Crossword)第2天

谜题出处 柯林斯字谜大全(6),Collins——Big Book of Crosswords (Book 6) Puzzle Number: 115 本期单词 横向 1、Fetch (8) 拿,取,8个字母 答案:Retrieve,取到,拿回 5、Common s…

C/C++笔记-使用mysql-connector-c连接mysql数据库

驱动在这个地方下载: MySQL :: Download MySQL Connector/C (Archived Versions) 我下载的是:mysql-connector-c-6.1.11-winx64 解压后lib有2个,一个是libmysql.lib一个是mysqlclient.lib 他们的区别如下: libmysql.lib 和 m…

elementui中的tree自定义图标

需求&#xff1a;实现如下样式的树形列表 自定义树的图标以及点击时&#xff0c;可以根据子级的关闭&#xff0c;切换图标 <el-tree :data"treeList" :props"defaultProps"><template #default"{ node, data }"><span class&quo…

【C/C++ 02】希尔排序

希尔排序虽然是直接插入排序的升级版本&#xff0c;和插入排序有着相同的特性&#xff0c;即原始数组有序度越高则算法的时间复杂度越低&#xff08;预排序机制&#xff09;&#xff0c;但是是不稳定排序算法。 为了降低算法的时间复杂度&#xff0c;所以我们需要在排序之前尽…

ARCGIS PRO SDK 数据库属性域设置与获取

一、数据库创建属性域。 sdk3.1 以下的开发版本不支持&#xff0c;不能使用 Pro SDK 向域添加新的编码值&#xff0c;可以使用地理处理工具&#xff1a; 创建属性域 Dim va As IReadOnlyList(Of String) Dim gpResult As ArcGIS.Desktop.Core.Geoprocessing.IGPResult Dim env…

【EEG信号处理】ERP相关

ERP&#xff0c;全称为event-related potential&#xff0c;中文是事件相关电位。 首先要明确的一点是&#xff0c;ERP是根据脑电图EEG得到的&#xff0c;他是EEG的一部分&#xff0c;是最常用的时域分析方法 可能有一部分是介绍不到的&#xff0c;望谅解 在维基百科中给的定义…

力扣题集(第一弹)

一日练,一日功;一日不练十日空。 学编程离不开刷题&#xff0c;接下来让我们来看几个力扣上的题目。 1. 242. 有效的字母异位词 题目描述 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数…

docker 修改镜像存储路径

Docker的默认存储路径通常是磁盘上的一个临时目录。在默认情况下&#xff0c;Docker容器的数据存储在/var/lib/docker目录下&#xff0c;但是这个路径可能会在系统磁盘空间不足时变得不可用。因此&#xff0c;为了确保数据的可靠性和可用性&#xff0c;有必要更改Docker的默认存…

仅使用 Python 创建的 Web 应用程序(前端版本)第12章_总结

在栏目中&#xff0c;我们使用 Streamlit 等 Python 模块创建了一个 Web 应用程序&#xff0c;而无需编写任何 HTML/JS/CSS。 我希望这能帮助那些已经开始使用 Flask/Django/FastAPI 但对 HTML/JS/CSS 感到沮丧的人&#xff0c;或者那些想要快速创建演示应用程序的人。 WTS 源代…

flutter制作APP的学习

1. 先从flutter对应的前端知识入手 a. 屏幕适配规律&#xff0c;解决大小样式问题 https://juejin.cn/post/7039868577658175524 &#xff08;选择screenutil的使用指南&#xff1a;【Flutter】屏幕像素适配方案 ( flutter_screenutil 插件 )-CSDN博客 Futter 屏幕适配框架…

Manjaro Linux 安装 VirtualBox及VirtualBox命令行

Manjaro 安装GUI VirtualBox 客户端 在 Manjaro Linux 上&#xff0c;你可以使用 pamac 包管理器来安装 VirtualBox。以下是在终端中执行安装 VirtualBox 的命令&#xff1a; 打开终端。 运行以下命令来安装 VirtualBox&#xff1a; pamac install virtualbox如果提示输入管理…

jenkins job无法停止

jenkins 构建job没有启动&#xff0c;构建号点进去杀不掉&#xff0c;左侧没有abort按钮。 进到 “管理Jenkins” -> “脚本控制台” 运行以下脚本&#xff08;需要指定JobName和JobNumber&#xff0c;job名如如果套文件夹&#xff0c;比如cds文件夹下面名字为auto的job&am…

【数据结构与算法】之哈希表系列-20240129

这里写目录标题 一、217. 存在重复元素二、219. 存在重复元素 II三、242. 有效的字母异位词四、268. 丢失的数字五、290. 单词规律六、349. 两个数组的交集七、350. 两个数组的交集 II 一、217. 存在重复元素 简单 给你一个整数数组 nums 。如果任一值在数组中出现至少两次 &a…

VS+QT 配置Eigen库

1、下载Eigen库&#xff0c;如下&#xff1a; 2、解压到项目目录下&#xff0c;如下&#xff1a; 3、 在C/C中包含文件&#xff0c;如下&#xff1a; 4、在头文件中加入如下代码&#xff1a; 5、测试代码&#xff1a; //.cpp文件 #include "testEigen.h"testEigen::…

Linux下安装edge

edge具有及其强大的功能&#xff0c;受到很多人的喜爱&#xff0c;它也开发Linux版本&#xff0c;下面是安装方法&#xff1a; 1.去edge官网下载Linux(.deb)文件。 https://www.microsoft.com/zh-cn/edge/download?formMA13FJ 2.下载之后输入以下指令&#xff08;后面是安装…