自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (1)
  • 收藏
  • 关注

原创 写给学弟学妹们----------秋招那些事儿

非科班进入大厂的秘诀1 这篇文章讲的是什么1.1 关于我1.2 关于找工作的时间选择1.3 大厂技术面试官到底关注哪些点2 C++ 方向进入的大厂的学习路线2.1 学习路线和资源2.1 知识点的思维导图总结3 结束语1 这篇文章讲的是什么这篇文章主要是关于我作为一名非科班的研究生如何拿到腾讯、百度、美团等大厂的 offer 的方法论总结。1.1 关于我我本科就读在西安的一所双非本科院校,学的专业是测控技术与仪器,说是计算机相关专业吧,其实本科只学过C/C++,研究生就读于西安的一所211高校,所学

2021-09-20 19:35:53 577 4

转载 一文带你吃透 IO 多路转接

高级IO1 五种 IO 模型的简单介绍2 和高效 IO 相关的一些概念2.1 同步通信与异步通信2.2 阻塞与非阻塞3 IO 多路转接/复用3.1 非阻塞 IO3.2 select3.2.1 select 介绍3.2.2 select 的函数原型3.2.3 理解 select 的执行过程3.2.4 socket 就绪条件都有哪些3.2.5 select 的特点3.2.6 select 的缺点3.2.7 select 的使用示例3.3 poll3.4 epoll(重点)3.4.1 epoll 初识3.4.2

2021-07-23 16:19:29 479

原创 基于哈希结构的关联式容器

哈希1 unordered 系列关联式容器2 底层结构3 模拟实现4 哈希的应用5 海量数据面试题二级目录三级目录1 unordered 系列关联式容器2 底层结构3 模拟实现4 哈希的应用5 海量数据面试题二级目录三级目录...

2021-06-12 14:15:08 467 4

原创 详谈 TCP 和 UDP 协议

TCP一级目录二级目录三级目录一级目录二级目录三级目录

2021-06-08 17:12:34 582 7

原创 关联式容器---map和set

map和set1 关联式容器2 键值对3 树型结构的关联式容器3.1 set3.1.1 set 的介绍3.1.1 set 的使用3.2 map3.2.1 map的介绍3.2.2 map 的使用3.3 multiset 与 multimap 的介绍与使用3.3.1 multiset3.3.2 multimap3.4 map中的operator[]4 底层结构二级目录三级目录1 关联式容器在前面的文章里,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(

2021-06-01 16:37:24 460 4

原创 深入探索 C++ 中的多态

多态1 多态的概念2 多态的定义及实现2.1 多态的构成条件2.2 虚函数重写的两个例外2.2.1 协变2.2.2 析构函数的重写(是个高频面试题)1 多态的概念通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。2 多态的定义及实现2.1 多态的构成条件多态的构成条件来借助代码来引入class Person{public: virtual void BuyTickets() { cout << "Person,全价" <&

2021-05-11 12:11:40 327 2

原创 二叉搜索树中的结点删除(看过就一定会理解)

二叉搜索树的结点删除题目题目分析代码实现题目https://leetcode-cn.com/problems/delete-node-in-a-bst/二叉搜索树中的结点删除实际考虑的情况非常多,下面我们来分析一波题目分析代码实现/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *

2021-05-10 11:55:04 220 2

原创 网络基础 1 —— 网络发展背景、局域网/广域网;网络协议、TCP/IP 五层模型;网络传输的基本流程、封装和分用

网络基础1 OSI 七层模型2 TCP/IP五层(或四层)模型3 网络传输基本流程4 数据包封装和分用5 网络中的地址管理5.1 IP 地址5.2 MAC 地址6 协议分层的好处以及如何在 Linux 下查看 ip 地址、子网掩码、主板挂接的外设1 OSI 七层模型OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;OSI

2021-05-08 15:55:54 656 1

原创 C++ 中的继承

继承1 什么是继承1.1 继承的概念1.2 继承的定义1.2.1 定义格式1.2.2 继承关系和访问限定符1.2.3 继承基类成员访问方式的变化2 基类(父类)对象和派生类(子类)对象之间的赋值转换3 继承中的作用域4 派生类(子类)的默认成员函数5 继承与友元6 继承与静态成员7 复杂的菱形继承以及菱形虚拟继承7.1 单继承7.2 多继承7.3 菱形继承7.3.1 菱形继承的问题7.3.2 如何解决7.3.3 虚拟继承解决数据冗余和二义性的原理8 继承的扩展和总结8.1 继承和组合1 什么是继承1.1

2021-04-28 20:30:38 1855 10

原创 Linux 中的多线程

Linux 多进程1 Linux 线程控制1.1 创建线程1.2 线程终止和线程等待1.2.1 线程终止的方式1.2.2 线程等待的方式1.2.2 小结1.3 线程分离2 Linux 线程互斥(重点)2.1 进程、线程间的互斥相关背景概念2.2 互斥量 mutex3 可重入和线程安全3.1 概念3.2 常见的线程不安全的情况3.3 常见的线程安全的情况3.4 常见不可重入的情况3.5 常见可重入的情况3.6 可重入与线程安全的联系和区别4 常见的锁概念4.1 什么是死锁4.2 产生死锁的4个必要条件4.3

2021-04-25 17:12:15 1631 3

原创 Linux 中的线程——深入理解线程的概念

Linux 中的线程1 Linux 中的线程的概念&线程与进程的关系2 Linux 中的线程的优点和缺点3 Linux 中的线程的用途4 小结1 Linux 中的线程的概念&线程与进程的关系在一个程序里的执行路线叫线程(thread)。更准确的定义是:线程是 “一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行,本质是在进程地址空间内运行在 Linux 系统中,在 CPU 眼里,看到的 PCB 都要比传统的进程更加轻量化透过进程虚拟地址空间,可以看到进程的大

2021-04-17 21:18:46 470

原创 C++ STL中的容器适配器

stack & queue & priority_queue1 stack1.1 stack 介绍1.2 stack 使用1.3 stack 模拟实现1.4 deque 的简单介绍2 queue2.1 queue 介绍2.2 queue 使用2.3 queue 模拟实现3 priority_queue3.1 priority_queue 介绍3.2 priority_queue 使用3.3 priority_queue 模拟实现4 容器适配器模式二级目录三级目录1 stack1.1 st

2021-04-17 15:26:09 1059 4

原创 深入探索 Linux 进程信号的奥秘

Linux 进程信号0 学习进程信号的过程1 Linux 进程信号的基本概念1.1 对信号的基本认知2 Linux 进程信号的产生方式3 Linux 进程信号的捕捉的一般方式二级目录三级目录0 学习进程信号的过程1 Linux 进程信号的基本概念1.1 对信号的基本认知从生活角度来讲你在网上买了很多件商品,再等待不同商品快递的到来。但即便快递没有到来,你也知道快递来临时,你该怎么处理快递。也就是你能“识别快递”当快递员到了你楼下,你也收到快递到来的通知,但是你正在打游戏,需5min之后才能去

2021-04-12 21:00:48 4371 8

原创 探索 Linux 下进程间通信的奥秘

进程间通信1 进程间通信的介绍2 管道(重点)2.1 什么是管道2.2 匿名管道2.3 命名管道3 共享内存二级目录三级目录1 进程间通信的介绍2 管道(重点)2.1 什么是管道2.2 匿名管道代码实现2.3 命名管道代码实现3 共享内存二级目录三级目录...

2021-04-06 14:46:47 1242 5

原创 C++容器 vector 介绍及其使用

vector 介绍及其使用1 vector 的介绍2 vector 的使用2.1 vector 的构造函数2.2 vector 的遍历2.3 vector 的空间增长问题2.4 vector 的增删查改3 vector 的迭代器失效问题1 vector 的介绍vector 是可变大小数组的序列化容器就像数组一样,vector 也采用的连续存储空间来存储元素。也就是意味着可以采用下标对 vector 的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处

2021-03-31 20:43:47 500 2

原创 深入解析Linux系统中的“一切皆文件“

一切皆文件1 C文件IO2 文件相关系统调用接口2.1 open 接口介绍3 文件描述符3.1 什么是文件描述符3.2 文件描述符的分配规则3 你是怎么理解重定向的(从OS的角度)4二级目录三级目录1 C文件IOC默认会打开三个输入输出流,分别是stdin ,stdout ,stderr这三个流的类型都是 FILE* 文件指针请参考:https://blog.csdn.net/CZHLNN/article/details/1102385012 文件相关系统调用接口操作文件,除了上述 C 接

2021-03-30 15:18:31 3331 2

原创 深度解析C++中的容器 —— string

string类的灵魂三问:是什么?为什么?怎么办?1 为什么要学习 string 类(为什么)?2 标准库中的 string 类(是什么)?2.1 string 类2.2 string 类的常用接口2.2.1 string 类对象的常用构造函数2.2.2 string 类对象的容量操作2.2.3 string 类对象的访问和遍历操作2.2.4 string 类对象的修改操作3 string类的模拟实现(怎么办)?3.1 经典的 string 类问题3.2 浅拷贝3.3 深拷贝3.3.1 传统版写法的 str

2021-03-24 21:14:58 374 3

原创 深度解析Linux进程管理

Linux 进程管理0 摘要1 进程创建1.1 fork 函数1.2 写时拷贝1.3 fork 常规用法1.4 fork 调用失败的原因1.5 总结2 进程终止2.1 进程退出情况2.1 进程常见退出方法3 进程等待3.1 进程等待的必要性3.2 进程等待的方法3.2.1 wait3.2.1 waitpid4 进程程序替换二级目录三级目录0 摘要上一次的文章https://blog.csdn.net/CZHLNN/article/details/114534969?spm=1001.2014.3001

2021-03-16 19:33:12 1565 5

原创 深度解析树(二叉树和n叉树)的前中后序和层序的遍历方法:递归法和迭代法

把递归和迭代遍历树学个通透1 二叉树基础扫盲1.1 二叉树的种类1.2 二叉树的存储方式1.2 二叉树的 C++ 定义2 两种遍历方式3 递归的方法论4 二叉树和N叉树的前中后序的递归遍历5 二叉树和N叉树的前中后序的迭代遍历5.1 二叉树前序遍历5.2 二叉树中序遍历5.3 二叉树后序遍历5.4 N叉树前序遍历5.4 N叉树后序遍历6 二叉树和N叉树的层序遍历1 二叉树基础扫盲说道二叉树,大家对于二叉树其实都很熟悉了,本文呢我也不想教科书式的把二叉树的基础内容在啰嗦一遍,所以一下我讲的都是一些比较重

2021-03-13 17:28:06 681

原创 C/C++内存管理&模板初阶

内存管理和模板初阶1 内存管理1.1 C/C++ 的内存分布1.2 C 中动态内存管理方式1.3 C++ 中动态内存管理方式1.3.1 new/delete操作内置类型1.3.2 new/delete操作自定义类型1.3.3 operator new 与 operaror delete 函数1.3.4 new 和 delete 的实现原理1.4 malloc/free 和 new/delete的区别2 模板初阶2.1 泛型编程2.1 函数模板2.1.1 概念2.1.2 格式2.1.3 原理2.1.4 实例化

2021-03-12 17:28:51 1303 5

原创 C++中的类与对象3

1 const 修饰类的成员函数将 const 修饰的类的成员函数称之为 const 成员函数,const 修饰成员函数实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。1 const 对象可以调用非 const 成员函数吗?const Date* this -----> Date* this 这其实权限的放大,从可读变为可读可写,这当然是不行的。2 非 const 对象可以调用 const 成员函数吗?原理和1 相似,Date* this --

2021-03-09 22:29:40 993 4

原创 Linux操作系统的进程2

进程优先级&环境变量&程序地址空间1 进程优先级1.1 进程优先级的概念1.2 查看系统进程和优先级1.3 更改系统的优先级2 环境变量2.1 基本概念2.2 常见环境变量和查看环境变量的方法2.3 和环境变量相关的命令2.4 环境变量的组织方式2.5 设置&获取环境变量和环境变量的特性3 进程地址空间(重点)3.1 地址空间的引入3.2 什么是地址空间3.3 为什么要有地址空间3.4 地址空间怎么使用3.5 页表的作用和进程地址空间的管理3.5.1 页表的作用3.5.2 程序地址空

2021-03-08 17:25:27 4749 12

原创 栈和队列的互相实现

栈和队列1 栈和队列3 用栈实现队列3.1 思路分析3.2 代码实现4 用队列实现栈4.1 思路分析4.2 代码实现1 栈和队列栈: 后进先出的数据结构队列:先进先出的数据结构如图所示:那么以C++为例,自己使用的编程语言里栈和队列是什么样的呢。可以思考以下几个方面:C++中的 stack 是容器吗?我们使用的stack是属于哪个版本的 STL ?我们使用STL中的 stack 是怎么实现的呢?stack 提供迭代器来遍历 stack 空间吗?C++标准库是有多个版本的,

2021-02-18 17:24:46 289 2

原创 力扣——只出现一次的数字ⅠⅡⅢ(C++)

只出现一次的数字1 题目描述2 题目分析和实现2.1 题目12.1.1 分析2.1.2 实现2.2 题目22.2.1 分析2.2.2 实现2.3 题目31 题目描述题目链接如下:https://leetcode-cn.com/problems/single-number/https://leetcode-cn.com/problems/single-number-ii/https://leetcode-cn.com/problems/single-number-iii/2 题目分析和实

2021-02-11 10:15:58 316

原创 C++中的类与对象2——构造函数、析构函数、拷贝构造函数、赋值运算符重载函数

类的成员函数1 类的构造函数1.1 构造函数的概念1.2 构造函数的特性2 类的析构函数2.1 析构函数概念2.2 析构函数的特性3 类的拷贝/复制构造函数3.1 拷贝/复制构造函数的概念3.2 拷贝/复制构造函数的特征4 类的赋值运算符重载函数4.1 运算符重载4.2 赋值运算符重载1 类的构造函数1.1 构造函数的概念对于以下的日期类class Date{ public: void SetDate(int year, int month, int day) { _year = ye

2021-02-07 16:12:51 446 4

原创 C++中的类与对象1

类和对象1 面向过程和面向对象的初步认识2 类2.1 类的引入2.2 类的定义2.3 类的作用域2.4 类的实例化2.5 类的访问限定符和封装2.5.1 访问限定符2.5.2 封装2.6 类的对象大小的计算2.6.1 类对象的存储方式2.7 类成员函数的this指针2.7.1 this指针的引出2.7.2 this指针的特性1 面向过程和面向对象的初步认识C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象

2021-02-06 19:00:11 311 1

原创 Linux操作系统(计算机的哲学)中的进程

Linux操作系统中的进程1 认识冯诺依曼系统2 操作系统2.1 概念2.2 设计OS的目的2.3 定位3 进程3.1 进程的基本概念3.2 进程的描述3.3 如何组织进程3.4 进程的基本操作3.4.1 查看进程3.4.2 创建进程3.4.3 进程的状态3.4.4 僵尸进程和孤儿进程1 认识冯诺依曼系统我们常见的计算机笔记本和不常见的计算机服务器大部分都遵循冯诺依曼系统。我们所认识的计算机,都是由一个个的硬件组件组成。输入单元:键盘鼠标等中央处理器(CPU):包含运算器和控制器等输出单

2021-02-06 15:54:02 2603 1

原创 C++中的引用

C++中的引用1 引用的概念2 引用的特性3 常引用4 使用场景4.1 作为参数4.2 作为返回值5 传值、传引用的效率比较5.1 值和引用的作为参数的性能比较5.2 值和引用的作为返回值类型的性能比较6 引用和指针的区别和联系1 引用的概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。格式:类型& 引用变量名(对象名) = 引用实体;比如权游中的龙妈:她就有很多别名,比如,不焚者,卡丽熙反正都是龙妈。

2021-02-01 22:45:02 1295 4

原创 C++初识

C++初识1 C++的前世今生1.1 什么是C++1.2 C++发展史1.3 C++的重要性1.3.1 语言使用广泛度1.3.2 学习和工作2 C++入门2.1 C++关键字2.2 命名空间2.2.1 命名空间定义2.2.1 命名空间使用2.3 输入&输出2.4 缺省参数2.4.1 缺省参数概念2.4.2 缺省参数分类2.5 函数重载2.5.1 函数重载的概念2.5.2 C++函数的重载的原理和C不可以函数重载的原因1 C++的前世今生1.1 什么是C++C语言是结构化和模块化的语言,适合处

2021-01-31 19:49:43 2016 8

原创 剑指offer 56——数组中数字出现的次数(C语言)

数组中数字出现的次数题目描述题目分析题目实现题目描述题目分析其实我们就可以看出来,xorRet 二进制序列中的1的位置对应两个出现一次的数字的二进制序列的位置有着规律————>xorRet 为1的位置,出现一次的数字x1,x2的位置必然一个是0一个是1。那么问题的解决方法就有了1、把数组中所有数异或为xorRet2、取xorRet中的1的位置。3、根据这个位置对数组中所有元素进行分组,那两个只出现一次的不同数字必然被分到了不同的组中,其他相同的数字也被分到了一组中。4、对两组

2021-01-30 22:01:16 1298 1

原创 Linux常用指令

Linux常用指令1 目录2 目录相关指令操作3 文件相关指令操作4 文件内容操作5 文件解压和压缩6 权限7 用户管理1 目录根目录:/路径:绝对路径:从根目录开始的路径,如:/home/chenzhihao/Linux_C_Cpp/SeqList相对路径:从当前目录开始的目录,如:./ . ./tree:查看目录的数结构如果你没有安装tree,可以sudo yum install tree 来安装2 目录相关指令操作ls查看该目录下的所有子目录和文件。ls -l 等于

2021-01-30 18:40:15 363

原创 排序算法

排序算法1 什么是排序以及排序算法的分类1.1 排序的概念1.1 排序的分类2 都有哪些排序算法2.1 插入排序2.1.1 直接插入排序2.1.2 希尔排序2.2 选择排序2.2.1 直接选择排序2.2.2 堆排序2.3 交换排序2.3.1 冒泡排序2.3.2 快速排序2.4 归并排序2.5 计数排序3 排序算法的性能评价和小结3.1 都有哪些性能评价指标3.2 总结1 什么是排序以及排序算法的分类1.1 排序的概念所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作

2021-01-28 19:14:46 2474 9

原创 Linux中的vim编辑器&gcc编译器

vim&gccvim什么是vimvim的命令模式vim的常用命令gccvim什么是vimvim是Linux中强大的文本编辑器,如图所示就是vim test.cvim的命令模式vim有很多种模式常用的有3中,命令模式、插入(编辑)模式、底行模式。三种模式如图所示:分别是Normal Insert Command三个模式。1、vim是一个多模式的文本编辑器,默认处在命令模式。2、从命令模式(NORMAL)到插入模式(INSERT):i(光标不变),a(同行下一个位置),o(新

2021-01-27 20:47:17 792 2

原创 二叉树链式存储实现及其遍历

二叉树的链式存储1 二叉树的链式存储1.1 链式存储实现方式1.2 二叉树结点2 二叉树的遍历2.1 深度优先遍历2.1.1 前序遍历2.1.2 中序遍历2.1.3 后序遍历2.2 广度优先遍历3 二叉树的最大深度&k层结点个数&叶子结点个数&3.1 二叉树的深度3.2 二叉树结点个数3.3 二叉树叶子结点个数3.4 二叉树第K层结点个数1 二叉树的链式存储1.1 链式存储实现方式二叉树的链式存储结构是指:用链表来表示元素间的逻辑关系。通常的方法是链表中每个结点由三个域组成,

2021-01-22 21:16:07 1484

原创 VS常用快捷键

本文将为大家列出在Visual Studio中常用的快捷键,正确熟练地使用快捷键,将大大提高你的编程工作效率。项目相关的快捷键Ctrl + Shift + B = 生成项目Ctrl + Alt + L = 显示Solution Explorer(解决方案资源管理器)Shift + Alt+ C = 添加新类Shift + Alt + A = 添加新项目到项目编辑相关的键盘快捷键Ctrl + Enter = 在当前行插入空行Ctrl + Shift + Enter = 在当前行下方插入空行C

2021-01-19 21:23:00 165

原创 数据结构学习_05_二叉树_堆

堆1 树1.1 树的相关名词2 二叉树2.1 二叉树的概念2.2 二叉树的性质2.3 特殊的二叉树3 堆3.1 堆的概念3.2 堆的实现3.2.1 向下调整算法3.2.2 堆的构建3.2.3 堆排序1 树树是一种非线性数据结构,它是由n个有限结点组成的具有层次关系的集合。把它叫树是因为它是根朝上,叶子朝下的来上图瞧瞧1.1 树的相关名词2 二叉树2.1 二叉树的概念一颗二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树。如图所示:二叉树有以下

2021-01-11 22:28:06 332

原创 数据结构学习_04_线性表中的顺序表和链表的区别及优缺点

什么是顺序表?顺序表是在计算机内存中以数组的形式保存的线性表。顺序表存储是将数据元素放到一块连续的内存存储空间,相邻数据元素的存放地址也相邻,逻辑与物理的统一。什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每个元素称为结点)组成,结点可以在运行时动态生成。结点:每个结点包含两个部分:一个是存储数据元素的数据域,另一个是下一个结点地址的指针域。优缺点比较:1、时间上1)访问随机元素的时间复杂度因为顺序表

2021-01-05 15:08:59 667

原创 数据结构学习_03_线性表

数据结构中常用的线性表1 线性表的概念2 线性表的分类3 各种线性表的概念和实现3.1 顺序表3.1.2 概念3.1.2 实现3.2 链表3.1.2 概念3.1.2 实现3.3 栈3.1.2 概念3.1.2 实现3.4 队列3.1.2 概念3.1.2 实现1 线性表的概念线性表(Linear list)是n个具有相同特性的数据元素的有限序列,逻辑形式是线性,实际使用比较广泛。2 线性表的分类常见的线性表有:顺序表、链表、栈、队列、字符串等。3 各种线性表的概念和实现3.1 顺序表3.1.2 概

2021-01-05 13:43:02 347

原创 数据结构学习_02_复制带随机指针的链表

题目描述:给定一个链表,每个节点包含一个额外增加的随机指针,这个指针可以指向链表中的任意节点包括自身和NULL。要求返回这个链表的深拷贝分析:复制完原来的链表是可以完成每个节点的next是可以指向下一个节点这个要求的,但是复制只是把值进行了拷贝,每个节点里面的random就找不到原来链表在拷链表中的对应位置,这就达不到深拷贝要求,这才是这个问题的要解决的问题,那么怎么办呢?其实我们可以这样:第一步:第二步:第三步:那么最后的功能得以实现完整代码如下:/** * Definit

2021-01-04 22:04:52 153

原创 数据结构学习_01_单链表_相交链表_链表的环

链表1 链表的概念和定义2 相交链表3 带环的链表3.1 如何判断链表是否带环3.2 求链表入环的第一个节点1 链表的概念和定义链表(Linked List)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。如下图:由于不必须按顺序存储,链表在插入的时候可以达到 O(1)的复杂度,比另一种线性表 —— 顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要 O(n) 的时间,而顺序表相应的时间复杂度分别是 O(l

2020-12-26 22:17:31 254 2

信号包络提取

利用极大值、极小值提取包络,比较希尔伯特变换和数学形态法提取的优缺点,极大值极小值提取的方法提取的包络比较平滑,

2019-05-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除