首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
lzacking
创建于2022-02-22
订阅专栏
介绍常见的数据结构与算法,分享一些算法题
等 7 人订阅
共22篇文章
创建于2022-02-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构与算法:8种算法经典问题
本文主要讲解8种算法经典问题。汉诺塔问题(Tower of Hanoi Problem) 是一个经典的递归和分治算法问题。有三根柱子(标记为A、B和C),开始时,在柱子A上有一堆按照从上到下递增顺序摆放的圆盘。目标是将所有圆盘从柱子A移动到柱子C,每次只能移动一个圆盘,并且在移动...
数据结构与算法:10种常见算法
本文主要讲解10种常见算法:二分查找算法、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法、马踏棋盘算法
常见算法题目:数组(一)
前言 如果想进大厂工作,除了基础知识,项目经验,还有一些非常重要的能力需要锻炼,其中最重要的就是算法。算法题千千万,但是类型也就几十种,接下来的系列文章,我将面试中常见的算法题类型进行归纳。 数组面试
常见算法题目:数组(二)
前言 如果想进大厂工作,除了基础知识,项目经验,还有一些非常重要的能力需要锻炼,其中最重要的就是算法。算法题千千万,但是类型也就几十种,接下来的系列文章,我将面试中常见的算法题类型进行归纳。 数组面试
常见算法题目:链表(一)
前言 如果想进大厂工作,除了基础知识,项目经验,还有一些非常重要的能力需要锻炼,其中最重要的就是算法。算法题千千万,但是类型也就几十种,接下来的系列文章,我将面试中常见的算法题类型进行归纳。 链表面试
常见算法题目:链表(二)
前言 如果想进大厂工作,除了基础知识,项目经验,还有一些非常重要的能力需要锻炼,其中最重要的就是算法。算法题千千万,但是类型也就几十种,接下来的系列文章,我将面试中常见的算法题类型进行归纳。 链表面试
常见算法题目:栈
前言 如果想进大厂工作,除了基础知识,项目经验,还有一些非常重要的能力需要锻炼,其中最重要的就是算法。算法题千千万,但是类型也就几十种,接下来的系列文章,我将面试中常见的算法题类型进行归纳。 栈面试题
常见算法题目:二进制
前言 如果想进大厂工作,除了基础知识,项目经验,还有一些非常重要的能力需要锻炼,其中最重要的就是算法。算法题千千万,但是类型也就几十种,接下来的系列文章,我将面试中常见的算法题类型进行归纳。 二进制面
数据结构与算法:查找算法
本文主要讲解查找算法。在 java 中,我们常用的查找有四种:线性查找算法、二分查找算法、插值查找算法、斐波那契查找算法
数据结构与算法:排序算法(二)
(1)快速排序法介绍 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。快速排序又是一种分而治之思想在排序算法上的典型应用。从数列中挑出一个元素,称为 “基准”(pi...
数据结构与算法:排序算法(一)
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。。。。。。。。。。。。。for (int j = 0; j <...
数据结构与算法:图
在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边连接。顶点用圆圈表示,边就是这些圆圈之间的连线。邻接表是图的一种链式存储结构。这种存储结构类似于树的孩子链表。对于下图中每个顶点Vi(0),把所有邻接于Vi(0)的顶点Vj(1,2,3,4)链成一个单链表,这个单链表称...
数据结构与算法:多路查找树
二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树 1)二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如 1 亿), 就存在如下问题: 2)问题 1:在构建二叉树时,需要多次进行 i/o 操作(海量数据存在数据库或文件中),节点海量,...
数据结构与算法:树结构实际应用
堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的值的大...
数据结构与算法:树结构的基础部分
1)分析数组优缺点 优点:按照索引查询元素速度快、能存储大量数据、按照索引遍历数组方便 缺点:根据内容查找元素速度慢、数组的大小一经确定不能改变、数组只能存储一种类型的数据、增加、删除元素效率慢、未封装任何方法,所有操作都需要用户自己定义。 3) 树存储方式的分析 能提高数据存储...
数据结构与算法:哈希表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。有一个公司,当有新的员工来报道时,要求将该员工的...
数据结构与算法:递归
看个实际应用场景 迷宫问题: 假设一个迷宫,只有一个入口和一个出口。如果从迷宫的入口到达出口,途中不出现行进方向错误(方向错误:撞墙),则得到一条路线。简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量。递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。使用图解...
数据结构与算法:栈
(1)栈的英文为(stack) (2)栈是一个先入后出(FILO-First In Last Out)的有序列表。 (3)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。(1)子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直...
数据结构与算法:链表
链表是有序的列表,但是它在内存中是存储如下 小结: (1)链表是以节点的方式来存储,是链式存储 (2)每个节点包含 data 域, next 域:指向下一个节点. (3)如图:发现链表的各个节点不一定是连续存储. 思路: (1)第一种方法在添加英雄时,直接添加到链表的尾部,思路分...
数据结构与算法:队列
队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中maxSize 是该队列的最大容量。 package com.lzacking.import j...
下一页