数据结构与算法笔记 —— 向量

【每日一记】算法学习3——vector与结构体 vector是STL容器,和数组非常像,但vector可以被理解为动态数组,即会自己分配内存的数组。 阅读详情

数据结构与算法笔记 —— 向量


一. 数据结构

  1. 抽象数据类型 = 数据模型 + 定义在该模型上的一组操作。特点:
    • 抽象定义
    • 外部的逻辑特性
    • 操作 & 语义
    • 不考虑时间复杂度
    • 不涉及数据的存储方式
  2. 数据结构是基于某种语言的数据抽象类型 (Abstructal Data Type, ADT) 的实现,特点:
    • 具体实现
    • 内部的表示与实现
    • 完整的算法
    • 多种实现
    • 与复杂度密切相关
    • 要考虑具体的存储机制
  3. 向量接口如下图:
    这里写图片描述

二. 可扩充向量

  1. 采用静态空间管理的缺点:
    • 上溢:分配的内存空间过小,而需要存储的内容过大
    • 下溢:分配的内存空间过大,降低了空间存储效率,浪费资源
  2. 动态空间管理策略:在即将发生溢出时,适当地扩大内部数组的容量
    • 递增式增长:属于O(n2),算法效率太低,但空间利用率高
    • 倍增式增长:属于O(n),算法效率高,但空间利用率 > 50% ,牺牲空间换取时间
  3. 平均分析是根据数据结构各种操作出现概率的分布,将对应的成本加权平均
    • 各种可能的操作作为独立事件分别考虑
    • 割裂了操作之间的相关性与连续性
    • 往往不能准确地评判数据结构和算法的真实性能
  4. 分摊平均是对数据结构连续地实施足够多次操作,所需总体成本分摊至单次操作
    • 从实际可行的角度,对一系列操作做整体的考量
    • 更加忠实地刻画了可能出现的操作
    • 可以更为准确地评判数据结构与算法的真实性能

参考文献

[1] 邓俊辉《数据结构》

数据结构--向量--向量介绍 总的来说,面试是有套路的,一面基础,二面架构,三面个人。最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!担。**[外链图片转存中…(img-qCcUqH7U-1713712486665)][外链图片转存中…(img-6GATMPMH-1713712486665)][外链图片转存中…(img-kpyd3ooO-1713712486666)] 阅读详情

相关推荐

课程笔记 04 :数据结构(清华) 向量-查找算法

经过对二分查找的性能分析,提出了采用黄金分割的fibonacci查找算法。此外,还针对二分查找提出了两个改进版本

icaro_forever的博客 1198

数据结构——向量(vector)

位图中有三个成员变量,一个是M(指向连续的char类型数据),N(char类型数据数量,类比于向量中的容量,因为char占一个字节,所以也表示M内存中的字节数),n代表总位数,_size表示。平均分析:以插入排序为例,其时间复杂度是输入敏感的,和输入的数列的逆序对数量有关,平均分析更多是对输入采取一个平均的概率分布,然后得出时间复杂度的期望值(区别于最坏的情况,插入排序最坏为O(n^2))分摊分析:从一个更长的时间的序列来考虑,考虑连续的一系列操作,把总体的时间分配给具体的某一个步骤。

yjg17的博客 889

查找结构体向量变量(Vectors, structs and find)

如果建立了结构体向量,如何查找结构体向量中某变量值所在的向量单元。简单地说,就是结构体向量中有ID和数值,如果根据查找ID来更改数值呢?

Vector结构体(Leap::Vector)

Vector结构体(Leap::Vector)这个结构体代表三维空间中的向量和点(三分量),还提供了一些有用的向量操作函数(在LeapMath.h中提供了这些数学函数的函数体)。

mutieying的博客 1991

二阶锥松弛在配电网最优潮流计算中的应用(IEEE33节点配电网最优潮流算例matlab程序)(yalmip+cplex)

文献[7]建立了以支路潮流计算为基础的OPF模型,针对OPF中的非凸性约束,采用SOCR技术将其松弛为二阶锥约束,整个 OPF 模型则被转化为二阶锥规划( Second Order Cone Programming,SOCP)问题,对其求解可以得到全局最优解。其次结合辐射型配电网潮流特点建立支路潮流约束,并考虑配电网中的可控单元,包括分布式电源和离散、连续无功补偿装置,建立其出力约束,该模型为非凸非线性模型;式中,αj,t和βij,t分别为t时段内节点i电压的二次方和支路ij电流的二次方。

weixin_47365903的博客 1万+

pdf.js 移动端手势缩放功能实现与原生事件集成

本文详细解析了如何为pdf.js的viewer.html移动端页面实现流畅的双指捏合手势缩放功能。通过深入分析pdf.js的缩放机制,并利用原生触摸事件(touchstart、touchmove、touchend)进行集成,在不修改核心源码的前提下,为用户提供媲美原生应用的顺滑缩放体验,有效提升了移动端PDF阅读的专业性和用户满意度。

brandy的博客 490

数据结构 - 向量简单介绍

完成第一版了解数据结构概念和常用方法。 待做第二版常用方法的实现。 向量:存储同一种类型数据的一维数组。 向量和列表(list)属于序列。 向量是对数组的扩展。 通常将序列的下标称为秩(Rank) 向量分为有序和无序。 向量的数组的优缺点: 1、查找某位置的的元素是O(1)阶的,因为数组嘛例如a[1]; 2、插入元素的代价是巨大的,最坏的情况是插到最前面,需要将原数组中的所有元素向后移动。O(n); 3、删除一样花费巨大。O(n); 4、对于插入删除元素在末尾时,这种情况是..

程序员写的技术 FAQ 和杂文 3349

SecureCRT 9.0最新版安装与激活全攻略(附驱动识别技巧)

本文提供SecureCRT 9.0最新版的详细安装与激活指南,并重点解析了嵌入式开发中串口连接的硬件驱动识别技巧。内容涵盖从安全获取软件、解决USB转串口驱动兼容性问题,到配置SSH与串口会话的完整流程,旨在帮助开发者和工程师高效部署并精通使用这款终端仿真利器。

star的博客 410

算法笔记_什么是数据结构_向量vector

P34https://www.bilibili.com/video/av75509584?p=34 基本概念 抽象数据类型(ADT) vs 数据结构 汽车使用手册,在某种意义上,就是一种ADT,用户只需要关系如何使用它,不必关系内部的实现,内部的实现由生产者决定。 算法中,将向量的元素对应的索引,称之为“秩”。 disordered(): 返回逆序对的个数;若返回0,说明逆...

惊鸿一博 958

数字IC行业笔试面试全攻略

数字IC行业迎来快速发展,国产替代加速,技术创新活跃,应用领域持续扩展,但人才缺口扩大。职业发展路径清晰,从初级到首席工程师/架构师的技术路线,或转向管理岗位。薪资待遇优厚,应届生起薪25-35W,5-10年经验可达70-110W,架构师年薪超百万。薪资受公司平台、技术方向、学历背景、项目经验和地域因素影响。AI芯片、汽车电子等热门方向溢价明显,成功流片经验尤其重要。

2301_79143213的博客 759

常用元器件使用方法13:物理层接口芯片DP83848的使用方法

介绍: DP83848是以太网物理层接口芯片,具有多种型号,从便于焊接角度考虑LQFP-48封装较为合适,采用LQFP-48封装的芯片,有2种型号,分别为DP83848I和DP83848C,如下图所示。 其主要区别是使用温度不同,如下图所示。 这2种芯片芯片网上均有销售,按理说DP83848C价格应该更加便宜,实际不然,DP83848I的价格低于DP83848C,考虑或与芯片的出货量...

snmplink的博客 1万+

【数据结构与算法学习笔记】PART2 向量(接口与实现,可扩充向量,无序向量,有序向量)

(f)动态规划     make it work   make it right  make it fast 斐波那契数列 解决方法A(记忆,memoization) 将已经计算过的实例制表备查 解决方法B(动态规划,dynamic programming) 颠倒计算方向,由自顶而下递归,为自底而上递归 LCS(longest common subseq

小伙儿在这儿烤地瓜 1567

基于计算机视觉的无人便利店技术:从算法到部署的系统化实战指南

摘要:本文系统介绍了基于计算机视觉的无人便利店技术方案,提出"商品检测-跟踪-动作识别-防损-结算"五段式流水线架构。详细阐述了YOLOv8-Seg商品检测、OC-Sort多目标跟踪、3D-CNN+ST-GCN动作识别等核心算法实现,并完成NVIDIA Jetson Xavier NX边缘端的优化部署。通过TensorRT量化、DeepStream加速等技术手段,系统在保持94.7%动作识别准确率的同时,将漏单率降至0.8%,单店云端算力成本较行业平均降低84%。所有代码已开源,可直接应

博客 625

数据结构学习笔记:无序向量常用的操作算法

向量的元素访问 向量的插入算法:insert(r,e)r位置上插入一个元素e 向量的区间删除算法:remove(lo,hi)删除lo到hi地址之间的所有元素 向量的查找算法:find(e,lo,hi),逆向的逐个从hi向lo遍历其间所有元素,查找是否有和元素e相等的元素,最终返回的是查找到的元素的位置;如果到lo还没有找到相等的元素,则查找失败 向量的单元素删除算法:remove(r)删除...

Peter_Red_Boy的博客 2051

多层环境室内定位系统综述总结

本文是一篇发表于2025年《IEEE Access》期刊的综述论文,由埃及开罗美国大学与卡塔尔卡内基梅隆大学团队合作完成,聚焦多层环境室内定位系统的核心挑战、技术方案及未来方向,填补了该领域缺乏全面综述的空白。

程序员石磊 445

PCL 逐点插入法构建Delaunay三角网(C++详细过程版)

点云构建Delaunay三角网的逐点插入法基于PCL点云库的C++详细过程版实现

点云侠的博客 2992

数据结构与算法(邓俊辉清华大学2013版书)学习笔记5-向量-可扩充向量

扩容:基于动态空间管理的扩容算法expand(),代码实现如下:template <typename T> void Vector<T>::expand(){ if (_size < _capacity) return;//尚未满员时,不必扩容 if(_capacity < DEFAULT_CAPACITY) _capacity...

qq_37791134的博客 782

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

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

数据结构及算法分析——(有序向量唯一化)笔记一

/*有序向量唯一化:*/

噌胥苑——行思驿站 938

IEM模型,地表粗糙度模拟

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

数据结构与算法(邓俊辉清华大学2013版书)学习笔记4-向量-接口与实现

首先就是提到两个概念:抽象数据类型,数据结构。我们首先介绍了ADT的规范,并且基于这种规范,给出了向量的接口定义我们也实现了,作为一个数据结构而言,最最基本的构造与析构接口向量ADT:构造与析构向量模板类,直接用他们的接口,实现我们的应用。。。。上面完成了向量这种最基本的结构,作为一种模板类,它的最基本的一些接口。练习题目:...

qq_37791134的博客 591

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数据结构与算法分析笔记(c++)_向量(vector)的实现

3.4向量的实现 在本节中,给出了一个可用的 vector类模板的实现。vector是基本类类型,这意味着不同于C++中的基本数组,vecto可以复制并且其占用的内存可以自动回收(通过其析构函数)。 我们已经讨论了C+基本数组的一些重要特性 数组就是指向一块内存的指针变量:实际的数组的大小必须由程序员单独确定。 内存块可以通过new[]来分配,但是相应地也就必须用 delete[]来释放。 内存块的大小不能改变(但是可以定义一个新的具有更大内存块的数组,并且用原来的数组来将其初始化,然后原来的内存块就可以释

qq_35990574的博客 413

数据结构与算法笔记:高级篇 - 向量空间:如何实现一个简单的音乐推荐系统?

实际上,这个问题是推荐系统(Recomendation System)里最典型的一类问题。之所以讲这部分内容,主要还是给你展示,算法的强大之处,利用简单的向量空间的欧几里得距离,就能解决如此复杂的问题。不过,本章只讲解了基础理论,实践中遇到的问题还有很多,比如冷启动问题,产品初期积累的数据不多,不足以做推荐等等。这些更加深奥的内容,你可以之后自己在实践中慢慢探索。

chenjian723122704的专栏 1181

数据结构与算法之美学习笔记:47 | 向量空间:如何实现一个简单的音乐推荐系统?

本节课程思维导图:很多人都喜爱听歌,以前我们用 MP3 听歌,现在直接通过音乐 App 在线就能听歌。而且,各种音乐 App 的功能越来越强大,不仅可以自己选歌听,还可以根据你听歌的口味偏好,给你推荐可能会喜爱的音乐,而且有时候,推荐的音乐还非常适合你的口味,甚至会惊艳到你!如此智能的一个功能,你知道它是怎么实现的吗?实际上,这个问题是推荐系统(Recommendation System)里最典型的一类问题。

weixin_43597208的博客 1274

(c#)数据结构与算法分析

ALEXANDER CALDER Ritou I, 1946 Hanging mobile: painted sheet metal, wire and r...

weixin_33843947的博客 206

数据结构与算法分析笔记(c++)_抽象数据类型(ADT)、表ADT、STL中的向量和表

第三章 表、栈和队列 本章讨论最简单和最基本的三种数据结构。实际上,每一个有意义的程序都将明晰地至少使用一个这样的数据结构,而栈则在程序中总是要间接地用到,而不管你在程序中是否进行了声明。本章将: 介绍抽象数据类型(ADT)的概念。 阐述如何对表进行高效的操作。 ●介绍栈ADT及其在实现递归方面的应用。 ●介绍队列ADT及其在操作系统和算法设计中的应用。 在本章中,给出了两个库类 vector和1ist的重要子集的实现代码。 3.1抽象数据类型(ADT) 抽象数据类型(abstract data type,

qq_35990574的博客 1206

【数据结构与算法学习笔记】PART3 线性结构(除向量外,数组、栈、队列、链表)

//TODO

小伙儿在这儿烤地瓜 1285

项目推荐:BIDS - 极简数据结构

项目推荐:BIDS - 极简数据结构 项目基础介绍和主要编程语言 BIDS(A Brief Introduction to Data Structures)是一个专注于数据结构和算法教学的开源项目。该项目由谢勰开发,旨在通过简洁明快的讲解和实际代码示例,帮助开发者理解和掌握现代C++中的数据结构和算法。项目的主要编程语言是C++,同时也包含部分Python代码。 项目的核心功能 BIDS项目涵盖了...

gitblog_00042的博客 375
上一篇: 数据结构与算法笔记 —— 排序算法及代码实现
下一篇: 图像处理笔记 —— 图像的读取及RGB分离等
HorizontalView
博客等级 码龄11年 9粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值