logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据结构—链表

中间/头部的插入删除,时间复杂度为O(N),效率比较低(因为需要挪动数据)增容(需要开辟新空间释放旧空间)需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到200,再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。其中链表就可以很好的解决上面的问题。

文章图片
#数据结构#链表#c语言 +1
leetcode 42. 接雨水(双指针、动态规划、单调栈)

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出

#深度优先#算法#leetcode +1
【手撕STL】红黑树

红黑树一级目录二级目录三级目录红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的注:AVL树:左右高度差不超过1,严格平衡红黑树:最长路径不超过最短路径的2倍,近似平衡红黑树的性质:每个结点不是红色就是黑色根节点是黑色的如果一个节点是红色

#c++#算法#开发语言 +1
Linux环境基础开发工具使用

Linux环境基础开发工具使用一级目录二级目录Linux下安装软件的方式:源代码安装rmp包安装yum命令安装yum:帮我们查找并下载软件帮我们安装帮我们解决依赖关系yum是一条命令一级目录二级目录...

#linux#vim#服务器
C++11新特性详解

相比于C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。相比较而言,C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率。在C++11之前,涉及到多线程问题,都是和平台相关的,比如windows和

#c++#开发语言#数据结构 +1
搭建 Linux 环境

搭建 Linux 环境Linux 环境的搭建方式购买云服务器下载安装 XShell使用 XShell 登陆主机使用 Windows中的cmd 登陆主机(不推荐)XShell 下的复制粘贴三级目录Linux 环境的搭建方式主要有三种:直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好, 不推荐.使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWa

#linux#腾讯云#服务器
到底了