最短路算法模板(Dijkstra、Bellman_ford、spfa、Floyd)

最短路算法模板总结图论当中将图为有向图和无向图,这里只考虑有向图的算法。对于无向图,我们将其看做是一种特殊的有向图,对所有的无向边u↔vu \leftrightarrow vu↔v都看做是u→vu\to vu→v和v→uv \to uv→u。约定:nnn表示图中点数,mmm表示图中边数。稠密图:

【linux多线程(四)】——线程池的详细解析(含代码)

什么是线程池?线程池是一种线程使用模式,它是将线程和缓冲队列预存在一个池子中,等待监督管理者分配可并发执行的任务,当有任务时,可以避免重新创建线程和销毁线程所带来的性能开销,makefile文件threadpool:threadpool.cc g++ $^ -o $@ -lpthread

【JavaSE|数据结构】堆,优先级队列,topK问题与堆排序

本篇文章带大家认识数据结构——堆,所谓的堆,其实就是使用顺序表实现的树,前面所介绍的二叉树是基于链式结构所实现的,本文将介绍底层为顺序表的二叉树,由于使用顺序表实现非完全二叉树会存在内存空间浪费问题,所以常常使用顺序表实现完全二叉树,而这个使用顺序表所实现的完全二叉树就是堆。

指针从入门到进阶(1)

指针从入门与进阶(1)

【九日集训】《LeetCode刷题报告》题解内容 Ⅲ

33. 搜索旋转排序数组 - 力扣(LeetCode)81. 搜索旋转排序数组 II - 力扣(LeetCode)153. 寻找旋转排序数组中的最小值 - 力扣(LeetCode)70. 爬楼梯 - 力扣(LeetCode)509. 斐波那契数 - 力扣(LeetCode)1137. 第 N 个泰波

顺序表与链表

目录1. 顺序表1.1 顺序表的概念及其结构1.2 顺序表的插入(头插,尾插,插入指定位置)1.3 顺序表的删除(头删,尾删,删除指定位置)1.4 顺序表的查找1.5 顺序表的接口实现(供大家考察是否掌握)2. 链表2.1 链表的概念及其结构2.2 单链表的插入(头插,尾插,指定位置插入)2.3单链

IP地址这么重要的知识,居然听一个学弟说没用?

因为个人感觉IP地址相关知识十分重要,所以编写了这个文档,既利于自己理解,也帮助他人学习

牛客网初阶练习(9)

牛客网初阶练习(9)

初始Linux—Linux系统编程第三节——初始进程

你是否知道,你耳熟能详的main函数是有三个参数的?你是否设置过环境变量?那你是否知道,环境变量是干什么用的?内存、操作系统的又是怎样的存在?冯诺依曼体系结构是什么?本节,你将会学到这些内容。

Linux 第四节 进程地址空间

你认为用%p打印出来的是真正内存中的地址?实际上,我们在用C/C++语言所看到的地址,全部都是虚拟地址!物理地址,用户一概看不到,由OS统一管理你认为堆栈等在整个系统中只会存在一份?你认为真正的内存中真的有内存分布一说?本节内容,结合进程的知识,你将了解到这些知识。

C++ string类的模拟实现

文章目录string类的结构定义1.string类迭代器的实现2.string类的构造、析构、拷贝构造、赋值运算符重载2.1 string类的构造函数2.2 string类的析构函数2.3 string类的拷贝构造函数2.4 string类的赋值运算符重载3.管理字符串的数组,可以增删查改3.1 r

【数据结构】二叉搜索树剖析(附源码)

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉搜索

C——数组(Array)

</font文章目录数组一、一维数组的创建和初始化二、二维数组的创建和初始化三、数组越界四、数组作为函数参数总结数组变量虽然可以存储数据,但是存放的效率太低了,于是就产生了数组,用来存放一组相同类型的数据。数组是一组相同类型元素的集合一、一维数组的创建和初始化数组的创建方式:type_t

常见的七种排序算法

目录1.排序算法的概念及其运用1.1 排序的概念1.2 排序运用1.3 常见的排序算法2.常见排序算法的实现2.1 插入排序 2.1.1直接插入排序 2.1.2 希尔排序(缩小增量排序)2.2 选择排序 2.2.1 直接选择排序 2.2.2 堆排序2.3 交换排序 2.3.1 冒泡排序

一文掌握二叉树

这里写目录标题树形结构节点的度树的度叶子结点或终端结点双亲结点或父结点孩子结点或子结点根节点结点的层次树的高度或深度兄弟节点树的表示形式二叉树二叉树的组成情况两种特殊的二叉树二叉树的性质二叉树的存储实现二叉树实现类创建树前序遍历中序遍历后序遍历获取二叉树当中结点的个数遍历方法子问题方法二级目录三级目

线段树详解(含代码实现经过测试)

1.线段树介绍什么是线段树?线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。[1]对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,

深入浅出TCP四次挥手 (多图详解)

多图详解,深入浅出TCP四次挥手

Linux多线程

文章目录Linux线程概念什么是线程线程的优点线程的缺点线程异常线程用途Linux进程VS线程进程和线程进程的多个线程共享关于进程线程的问题Linux线程控制POSIX线程库创建线程线程终止线程等待分离线程Linux线程互斥进程线程间的互斥相关背景概念互斥量mutex互斥量的接口互斥量实现原理探究可

realityOS会是苹果的新操作系统吗?

苹果的新操作系统

Linux操作系统——系统与文件(一)

Liunx操作系统学习文章目录Liunx操作系统学习一、Liunx系统Linux 系统启动过程二、Linux 系统目录结构三、Liunx文件基本属性更改文件属性chmod:更改文件9个属性符号类型改变文件权限四、Linux 文件与目录管理五、用户和用户组管理总结一、Liunx系统Linux 系统启动

登录可以使用的更多功能哦! 登录
作者榜
...
资讯小助手

资讯同步

...
内容小助手

文章同步

...
Deephub

公众号:deephub-imba

...
奕凯

公众号:奕凯的技术栈