算法与数据结构
文章平均质量分 92
三分恶
只能当个全栈维持生活。
展开
-
刷了四百道算法题,我在项目里用过哪几道呢?
大家好,我是老三,今天和大家聊一个话题:项目中用到的力扣算法。不知道从什么时候起,算法已经成为了互联网面试的标配,在十年前,哪怕如日中天的百度,面试也最多考个冒泡排序。后来,互联网越来越热,涌进来的人越来越多,整个行业越来越内卷的,算法也慢慢成了大小互联网公司面试的标配,力扣现在已经超过3000题了,那么这些题目有多少进入了面试的考察呢?原创 2024-01-08 13:02:53 · 1262 阅读 · 0 评论 -
手写HashMap,快手面试官直呼内行
快手一面,手写HashMap,卒……原创 2021-11-23 20:52:35 · 27623 阅读 · 55 评论 -
万字长文|十大基本排序,一次搞定!
十大基本排序可以说是必知必会的算法,万字+五十图+动图演示,这一次,十大排序彻底搞定!原创 2021-09-05 13:02:37 · 2207 阅读 · 70 评论 -
奇葩面试题,O(logn)的底数是多少?
一个没有注意到的点,懵了……原创 2021-08-18 20:32:05 · 2794 阅读 · 47 评论 -
重学数据结构(八、查找)
查找是各种软件系统中经常用到的操作。查找的效率非常重要,大型的系统尤其如此。原创 2020-12-13 15:56:37 · 1705 阅读 · 0 评论 -
重学数据结构(七、图)
图是一种比线性表和树更为复杂的数据结构。在线性表中,数据元素之间仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继;在 树形结构中,数据元素之间有着明显的层次关系,并且每一层中的数据元素可能和下一层中的多个元素(即其孩子结点)相关,但只能和上一层中一个元素(即其双亲结点)相关; 而在图结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。原创 2020-11-28 21:56:42 · 880 阅读 · 0 评论 -
重学数据结构(六、树和二叉树)
树结构是一类重要的非线性数据结构。直观来看,树是以分支关系定义的层次结构。树结构在客观世界广泛存在,如人类社会的族谱和各种社会组织机构都可用树来形象表示。树在计算机领域中也得到广泛应用,尤以二叉树最为常用。如在操作系统中,用树来表示文件目录的组织结构。在编译系统中,用树来表示源程序的语法结构。在数据库系统中,树结构也是信息的重要组织形式之一。原创 2020-10-22 20:03:24 · 2223 阅读 · 1 评论 -
重学数据结构(五、串)
计算机上的非数值处理的对象大部分是字符串数据, 字符串一般简称为串。串是一种特殊的线性表, 其特殊性体现在数据元素是一个字符, 也就是说, 串是一种内容受限的线性表。原创 2020-09-15 22:26:45 · 3969 阅读 · 0 评论 -
重学数据结构(四、数组和广义表)
数组是由类型相同的数据元素构成的有序集合,每个元素称为数组元素。广义表是线性表的推广, 具体定义为n(n>=0)个元素的有限序列。原创 2020-09-05 18:09:37 · 958 阅读 · 0 评论 -
重学数据结构(三、队列)
队列(queue)是一种先进先出(First In First Out, FIFO)的线性表。原创 2020-08-27 22:43:48 · 802 阅读 · 0 评论 -
重学数据结构(二、栈)
栈(Stack)又称堆栈, 是限制在表的一端进行插入和删除运算的线性表。 ...原创 2020-08-26 22:57:44 · 924 阅读 · 0 评论 -
重学数据结构(一、线性表)
线性表是最常见也是最简单的一种数据结构。简言之, 线性表是n个数据元素的有限序列。原创 2020-08-19 22:41:18 · 1430 阅读 · 0 评论 -
ArrayList源码阅读笔记
简介ArrayList是基于数组实现的一种列表。ArrayList继承体系如下:图一:ArrayList继承体系ArrayList实现了List, RandomAccess, Cloneable, java.io.Serializable等接口。ArrayList实现了List,提供了基础的添加、删除、遍历等操作。ArrayList实现了RandomAccess,提供了随机访问的能力。ArrayList实现了Cloneable,可以被克隆。ArrayList实现了Ser原创 2020-08-16 12:29:25 · 766 阅读 · 0 评论 -
重学数据结构(序:概览)
结构, 简单的理解就是关系, 比如分子结构, 就是说组成分子的原子之间的排列方式。 严格点说, 结构是指各个组成部分相互搭配和排列的方式。 在现实世界中, 不同数据元素之间不是独立的, 而是存在特定的关系, 我们将这些关系称为结构。那数据结构是什么?数据结构: 是相互之间存在一种或多种特定关系的数据元素的集合。在计算机中, 数据元素并不是孤立、 杂乱无序的, 而是具有内在联系的数据集合。 数据元素之间存在的一种或多种特定关系, 也就是数据的组织形式。...原创 2020-08-02 17:03:25 · 1059 阅读 · 0 评论 -
几个基本算法(二分查找、冒泡排序、插入排序、快速排序、希尔排序)
二分查找二分查找又叫折半查找,前提条件是待插入的数组必须是有序的,原理:二分查找的每次都从中间查找,如果比中间小,就去左边,如果比中间大,就去右边。普通实现public class BinarySearch { public static void main(String[] args) { //测试一下 int []a= {3,5,7,9,11,15}; Sys...原创 2019-08-09 22:37:25 · 962 阅读 · 0 评论