E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
数据结构与算法学习
数据结构与算法学习
笔记
数据结构线性表物理结构数组需要连续的空间,查询快,修改慢数组的长度定义了就不能改变了,所以如果插入长度大于了定义长度就需要扩容,一般扩容为原来的两倍,比较耗性能链表不需要连续的空间,修改快,查询较慢单链表,双链表,循环链表逻辑结构栈先进后出队列先进先出栈和队列都可以通过数组或者链表来实现散列表hash:基于数组实现的K-V键值对结构,通过hash函数把K转换为固定的散列值从而定位到需要存储的数组下
大杰or小智
·
2020-11-25 07:16
c++数据结构代码整理_我是如何自学数据结构的?
今天呢,我想简单的分享一下半年来自学
数据结构与算法学习
方法和技巧。写这篇文章主要目的还是重在让刚刚接触数据结构的读者按照总结步骤进行阶段性学习。
weixin_39836860
·
2020-11-24 00:45
c++数据结构代码整理
对数据结构概念的理解和认识
数据结构与算法学习
②(栈,队列,面试题)
栈,队列,面试题栈存储结构及特点栈的实现基于数组来实现栈基于链表实现栈总结栈的面试题哔哩哔哩,小米最近面试题,20.有效的括号亚马逊,字节跳动,腾讯最近面试题,155.最小栈队列存储结构及特点队列的实现javaAPI基于链表实现队列基于数组实现队列小结实战622.设计循环队列641.设计循环双端队列703.数据流中的第K大元素栈和队列面试题腾讯,字节跳动最近面试题,232.用栈实现队列字节跳动,f
Ybb_studyRecord
·
2020-11-15 14:34
笔记
数据结构与算法
链表
数据结构
java
数组
栈
数据结构与算法学习
笔记(训练营一第二节)---菲波那切数列
斐波那契数列求斐波那契数列矩阵乘法的方法1)斐波那契数列的线性求解(O(N))的方式非常好理解;2)同时利用线性代数,也可以改写出另一种表示:|F(N),F(N-1)|=|F(2),F(1)|*某个二阶矩阵的N-2次方;3)求出这个二阶矩阵,进而最快求出这个二阶矩阵的N-2次方;类似斐波那契数列的递归优化如果某个递归,除了初始项之外,具有如下的形式F(N)=C1*F(N)+C2*F(N-1)+…+
剑侠李逍遥
·
2020-11-08 09:02
最全版
数据结构与算法学习
文档及笔记
话不多说,直接先上图经历过校招的人都知道,算法和数据结构都是不可避免的。在笔试的时候,最主要的就是靠算法题。像拼多多、头条这种大公司,上来就来几道算法题,如果你没AC出来,面试机会都没有。在面试(现场面或者视频面)的时候也会问算法题,难度肯定是没有笔试的时候那么难的。我们可以想象一个场景,一面面试面到一半,面试官让你反转二叉树,问问现在的自己,你还会吗。不扯远了,如果还在上大学的同学可以先以排序和
Java架构俱乐部
·
2020-10-09 16:37
面试
程序员
架构
数据结构
二叉树
算法
编程语言
链表
数据结构与算法学习
第1季01 顺序表 链表
2015年学习计划安排:http://www.cnblogs.com/cyrus-ho/p/4182275.html顺序表:顺序存储结构的线性表。所谓顺序存储结构,就是指用一组连续地址的内存单元来存储整张线性表的存储结构。(因此按序遍历数据很方便,直接做指针偏移就可以了。)常用操作A)向顺序表中第i个位置插入元素item1.判断插入位置是否合法2.将i-1以后的元素后移一个元素的位置(注意静态顺序
weixin_30800987
·
2020-09-17 10:35
数据结构与算法
个人
数据结构与算法学习
总结-数组与稀疏数组
数组、稀疏数组本总结主要是以“尚硅谷Java算法教程”的学习教程为主,加上一些个人的理解本篇主要关于数组和稀疏数组之间的装换数组创建一个数组用于保存棋盘信息代码实现//创建一个原始的二维数组11*11//0:表示没有棋子,1表示黑子2表蓝子int[][]chessArr=newint[11][11];chessArr[1][2]=1;chessArr[2][3]=2;chessArr[4][5]=
lilun1231
·
2020-09-17 01:57
java算法
算法
数据结构
java
Java尚硅谷
数据结构与算法学习
记录(1)-二维数组转稀疏数组并存入文件
packagecom.lylicoo.sparsearray;importjava.io.*;/*二维数组转稀疏数组的思路:1、遍历原始的二维数组chessArr1,得到有效数据的个数sum2、根据sum就可以创建稀疏数组sparseArrint[sum+1][3]3、将原始二维数组的有效数据存入稀疏数组稀疏数组转原始二维数组的思路:1、读取稀疏数组的第一行,根据第一行的数据创建原始二维数组che
liililiya
·
2020-09-17 01:53
java
数据结构
数据结构与算法学习
笔记(python)——第三节 递归
前言本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python、数据分析、数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多少多少门课程。事实上,学完一门课之后真正掌握的知识并不多,主要的原因是自己没有认真学习和理解温故而知新的这句话的真正含义。因此,从现在开始,我在学习《数据结构与算法——基于python》的课程内容之后,
qq_34740277
·
2020-09-15 14:24
数据结构
代码实战
人工智能
数据结构
python
机器学习
算法
数据结构与算法学习
笔记(python)——第四节 搜索与排序
前言本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python、数据分析、数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多少多少门课程。事实上,学完一门课之后真正掌握的知识并不多,主要的原因是自己没有认真学习和理解温故而知新的这句话的真正含义。因此,从现在开始,我在学习《数据结构与算法——基于python》的课程内容之后,
qq_34740277
·
2020-09-15 14:24
人工智能
代码实战
python
数据结构
数据挖掘
python
机器学习
算法
数据结构与算法学习
笔记(python)——第5节 二分搜索
前言本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python、数据分析、数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多少多少门课程。事实上,学完一门课之后真正掌握的知识并不多,主要的原因是自己没有认真学习和理解温故而知新的这句话的真正含义。因此,从现在开始,我在学习《数据结构与算法——基于python》的课程内容之后,
qq_34740277
·
2020-09-15 14:52
代码实战
数据结构
python
数据结构与算法学习
笔记(python)——第一节 数组应用程序实战
前言本人是一个长期的数据分析爱好者,最近半年的时间的在网上学习了很多关于python、数据分析、数据挖掘以及项目管理相关的课程和知识,但是在学习的过程中,过于追求课程数量的增长,长时间关注于学习了多少多少门课程。事实上,学完一门课之后真正掌握的知识并不多,主要的原因是自己没有认真学习和理解温故而知新的这句话的真正含义。因此,从现在开始,我在学习《数据结构与算法——基于python》的课程内容之后,
qq_34740277
·
2020-09-15 14:21
python
数据结构
代码实战
数据结构
算法
python
#
数据结构与算法学习
笔记#剑指Offer65:n个骰子的点数和 + 详细解析(Java、C/C++)
2019.3.6《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门这道书上的题牛客网没有,不知道是不是漏掉了。求n个骰子所有可能的情况其实是固定的,一共次。因此求所有点数和s的概率实际上要的是求所有点数和s出现的次数。由于每一粒骰子的情况都是固定的,因此多粒骰子的情况实际上就是每一种情况的不断累加的结果。只有1粒骰子的时候,结果是分布是:1,2,3,4,5,6当有2粒骰子的时候,把1-6
NJU_ChopinXBP
·
2020-09-15 04:58
C/C++
数据结构与算法
JAVA
剑指Offer
数据结构与算法(二)——算法效率的度量方法
目录一、算法的时间复杂度二、推导大O阶方法①常数阶②线性阶③平方阶④对数阶三、算法的空间复杂度统计出生的一枚小白的
数据结构与算法学习
笔记。
冰淇淋lining
·
2020-09-14 23:01
小白的学习笔记
数据结构与算法学习
笔记——算法的时间和空间复杂度
在判断一个算法的优劣性是常常可以忽略算法中的常数项和其它次要项,更加关注最高项的阶数。函数的时间复杂度的分析函数的时间复杂度可以简单的理解为函数的循环次数O(n);常见的时间复杂度常见时间复杂度的大小从小到大依此为:O(1)
我不是大神啊
·
2020-09-14 22:00
java实现的数据结构与算法
数据结构与算法学习
(绪论)
第一节数据结构与算法绪论程序设计=数据结构+算法1、数据结构数据结构:就是关系,数据结构相互之间存在的一种或者多种特定关系的集合。1)逻辑结构:数据对象中各种元素间的相互关系。四种逻辑结构:集合结构:元素同属于一个集合。线性结构:一对一的关系。树形结构:一对多的层次结构。图形结构:多对多的关系。2)物理结构:数据的逻辑结构在计算机中存储形式。研究如何把数据元素存储到计算机存储器中。存贮器主要是针对
sunyanhui00
·
2020-09-14 20:06
数据结构与算法
数据结构
算法
时间复杂度
JAVA
数据结构与算法学习
笔记一(转载)
二分查找法和线性查找法二分查找法是一种比普通线性查找快得多的查找算法,但只适用于有序集合当中。拿升序排序后的整型数组来说,二分法具体的实现原理是:先把待查找数a与数组中间的那个数x对比,如果相等,直接返回x的索引;如果a大于x,则排除掉数组的前面一半(包括x),接着拿a与剩下一半数组中间的那个数x对比,如果相等,直接返回x的索引;如果a小于x,则排除掉数组后面一半的后面一半……如此循环直到找到目标
rollar1
·
2020-09-12 20:55
data
structure
干货教程:数据结构与算法之美
特别放送第⼀期:
数据结构与算法学习
书单第⼆期:争哥独家学习⼼得第三期:算法实战测试题第四期:⼤咖的专栏学习⽅法⽤户故事1:这⼀年我的脑海⾥只有算法⽤户故事2:只有站在思维的⾼处,才有⾜够的视野和能⼒欣赏美专栏简介踏上了编程之路
咻咻ing
·
2020-09-12 15:16
技术博客
数据结构与算法学习
笔记之先进先出的队列
前言队列是一种非常实用的数据结构,类似于生活中发排队,可应用于生活,开发中各个方面,比如共享打印机(先请求先打印),消息队列。你想知道他们是怎么工作的么。那就来一起学习一下队列吧正文一、队列的定义?1.一种先进先出的线性表2.只允许入栈push()和出栈pop()在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。二、如何用代码实现队列?1.java中JDK提供了Queue接
dinghuoruo0011
·
2020-09-12 15:47
数据结构与算法学习
笔记(第一章 绪论)
这章知识点概念比较多,我就画了一张逻辑图来表示了,这样看起来清晰明了。(第一次用XMind,逻辑图第二章以后的内容还没写,持续更新中。。。。。。)程序实战编写一个复数运算的程序,要求以ADT的形式来构建复数及相关运算,并计算如果所示的复数运算。//抽象数据类型(ADT)之复数的定义#includeusingnamespacestd;typedefstruct{floatrealpart;float
Bqv它不想做功
·
2020-09-10 21:39
数据结构
数据结构
数据结构与算法学习
笔记(第一章)
配套材料:《大话数据结构》(主)、中国大学MOOC浙江大学《数据结构》(补充)介绍:数据结构是相互之间存在一种或多种特定关系的数据元素集合数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间关系和操作等相关问题的学科为什么要学习数据结构?1、解决问题方法的效率,跟数据的组织方式、空间的利用效率是直接相关的。2、解决问题方法的效率,也跟算法的巧妙程度有关。相关概念一、数据:可以输入到计
踵音
·
2020-09-10 21:04
数据结构学习
数据结构
c语言
3.链表(python
数据结构与算法学习
)
为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表(Linkedlist)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储区+下个节点链接区)里存放下一个节点的位置信息(即地址)。3.1单向链表单
troublemaker、
·
2020-09-10 20:42
#
python数据结构与算法
Python
数据结构与算法学习
:单链表
Python数据结构与算法系列:单链表单链表1.单链表的结构2.单链表的基础操作3.单链表的python实现单链表1.单链表的结构链表是一种由一系列节点组成的线性结构,其中每个节点由data域和next域组成,data域用于存储该节点的数据,next域用于存储下一个节点的地址。其在内存中的存储可以是连续的也可以是不连续的。单链表结构示意图:2.单链表的基础操作isEmpty():判断链表是否为空s
剑气近_Ding
·
2020-09-10 20:33
数据结构与算法
数据结构与算法学习
之路:背包问题的贪心算法和动态规划算法
一、背包问题描述:有N种物品和一个重量为M的背包,第i种物品的重量是w[i],价值是p[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大。二、解决方法:1、贪心算法:贪心算法基于的思想是每一次选择都作当前最好的选择,这样最后的结果虽然不一定是最优解,但是也不会比最优解差很多。举个例子说明可能好懂一些:一帮基友去聚餐,菜是一份一份上的,我每一次夹菜都只夹牛肉/海鲜吃,
CheeRok
·
2020-09-10 18:41
数据结构与算法
PYTHON
数据结构与算法学习
笔记(三)
目录链表链表的定义单向链表节点的实现单链表的实现链表与顺序表的对比双向链表节点的实现双向链表的实现单向循环链表单向循环链表的实现链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表(Linkedlist)是一种常见的基础数据结构,是一种线性表,但是不像顺序表
yfqh9588
·
2020-09-10 17:38
#
数据结构与算法学习
笔记#PTA12:二叉搜索树判断(C/C++)
2018.4.20这道题有两个思路,一是根据两个序列分别建二叉搜索树,再根据二叉树的判别方法判别两棵树是否为同一棵树;二是建立其中一棵二叉搜索树,将待检验序列的元素依次进行搜索,若为同一棵二叉搜索树,则每次在树中搜索所访问过的结点应当在序列该数搜索到之前都访问过。如对于3142所建成的二叉搜索树T来说,将待检验序列3412依次搜索,当搜索至2时,341三个结点应当都被访问过。而对于序列3241,当
NJU_ChopinXBP
·
2020-08-25 03:14
PTA
C/C++
数据结构与算法
数据结构与算法学习
笔记(一)几个低时间复杂度的算法
几个低时间复杂度的算法:(1)最大子序列和问题给定整数A[0]~A[N-1],可能有负数,求SUM(k=i;j)A[k]的最大值。intMaxSubsequenceSum(constintA[];intN){intThisSum=0,MaxSum=0;for(inti=0;iMaxSum){MaxSum=ThisSum;}elseif(ThisSum0){Rem=M%N;M=N;N=Rem;}re
GodCedric
·
2020-08-24 10:04
算法
1.
数据结构与算法学习
笔记:稀疏数组
稀疏数组当一个数组中大部分元素为0,或者为同一个值的数组是时,可以用稀疏数组来保存该数组问题分析:编写的五子棋程序中,有存盘退出和续上盘的功能分析:因为该二维数组的很多值都是默认值0,因此记录了很多没有意义的数据,可以采用稀疏数组来优化稀疏数组的处理方式是:记录数一共多少行多少列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模上图本来要存储42个值,转成稀
叶纤
·
2020-08-24 10:09
3.
数据结构与算法学习
笔记:单链表的增删改查
链表(LinkedList)链表是有序的列表1.链表分两种,带头节点的链表和没有带头节点的链表,根据实际需求来确定2.链表是以节点的方式来存储的,是链式存储3.每个节点包括data域,next域,指向下一个节点4.如图:发现链表的各个节点不一定是连续存放的在内存中的实际结构逻辑结构单链表的应用实例:使用带head头的单向链表实现–水浒英雄排行榜的管理1.完成对英雄人物的增删改查操作2.第一种方法在
叶纤
·
2020-08-24 07:17
数据结构与算法学习
总结(二)——线性表
线性结构介绍线性表之前我们先了解一下线性结构,上篇说到数据结构从逻辑上分为线性结构和非线性结构两种。组成线性结构由一个B=(K,R)的二元组组成,其中K={a0,a1,...,an-1},R={r},K中存储的是线性结构集合中的元素,R维护节点之间的关系。对于线性结构中的非空集合K一定有一个唯一的开始结点,它没有前驱结点,只能有一个唯一的直接后继结点。还会存在一个唯一的终止结点,它有一个唯一的直接
夕阳不近人
·
2020-08-23 15:01
数据结构与算法
数据结构与算法学习
笔记(一)——入门
数据结构与算法——入门数据结构与算法数据结构什么是数据结构算法(algorithm)什么是算法时间复杂度空间复杂度常数项时间JAVA常用运算符>>:带符号右移>>>:不带符号右移>、>>、|、&、^>>:带符号右移比如数字4,它的二进制是:0……0000100,4>>2=1,意思就是向右移2位,左侧是它的符号位,如果左侧为1,则移动的时候要补上最左侧的符号位(我们知道,二进制左侧代表正负数,0是正
勿白头空悲切
·
2020-08-23 02:22
数据结构与算法
数据结构与算法概述
数据结构与算法概述
数据结构与算法学习
、复习思路整理:重点只需要掌握常用的数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树。
Aaron9873
·
2020-08-22 21:26
计算机
数据结构与算法
数据结构与算法分析 之 常用的排序算法
更多内容请看
数据结构与算法学习
笔记文章目录简单排序冒泡排序选择排序插入排序高级排序希尔排序归并排序递归归并排序快速排序排序的稳定性在我们的程序中,排序是非常常见的一种需求,提供一些数据元素,把这些数据元素按照一定的规则进行排序
会飞的冰箱
·
2020-08-21 20:32
数据结构与算法分析
《剑指Offer》从零开始刷题全记录-Java
#
数据结构与算法学习
之——《剑指Offer刷题》-Java#完结撒花!
NJU_lemon
·
2020-08-21 15:31
剑指Offer刷题记录
Java
数据结构与算法学习
(六)(续)
2019独角兽企业重金招聘Python工程师标准>>>6.7.2分割策略有几种分割策略,但已知此处描述的分割策略能够给出好的结果。该方法第一步是通过将枢纽元与最后的元素交换使得枢纽元离开要被分割的数据段。i从第一个元素开始从而j从倒数第二个元素开始。下面表示当前的状态。我们暂时假设所有元素互异,后面着重考虑出现重复元素的情况。在分割阶段要做的就是把所有小元素移到数组的左边而大元素移到数组的右边。当
weixin_33966095
·
2020-08-20 19:05
数据结构与算法学习
笔记一: 时间复杂度空间复杂度
这篇主要讲解时间复杂度、空间复杂度概念。复杂度分析 数据结构和算法解决的是“快”和“省”的问题。即如何让代码运行的更快,如何让代码更省存储空间。因此代码的执行效率是一个非常重要的考量指标,那如何来衡量代码的执行效率呢?我们可以用时间复杂度、空间复杂度来对代码的执行效率、性能进行评估,也就是算法的复杂度分析。算法的复杂度分析主要包含两个方面: 时间复杂度分析 空间复杂度分析为什么要进行复杂
乌班图ysm
·
2020-08-18 03:35
#
2.12
数据结构与算法
LeetCode(53):最大子序和 Maximum Subarray(Java)
#
数据结构与算法学习
笔记#PTA4:分治算法求最大子列和(C/C++)#
数据结构与算法学习
笔记#PTA3:在线处理算法求最大子列和,并返回最大子列和头尾元素(C/C++)(2004年浙大计科考研复试)传送门
NJU_ChopinXBP
·
2020-08-18 00:29
数据结构与算法
JAVA
LeetCode
数据结构与算法学习
笔记4--------中缀表达式转后缀表达式
一.什么是中缀表达式前缀(波兰式)、中缀、后缀(逆波兰式)表达式三者都是运算表达式,只是形式有区别,即运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;后缀表达式运算符位于与其相关的操作数之后。中缀表达式是人常用的运算表达式,对于人脑来说容易理解,但是对计算机来说计算中缀表达式较为困难,故需要把中缀表达式转为后缀表达式再进行运算。publicstaticListparseS
Atomatom98
·
2020-08-16 06:55
数据结构与算法java学习笔记
数据结构与算法学习
十六:树的知识、二叉树、二叉树的遍历(前序、中序、后序、层次)、二叉树的查找(前序、中序、后序、层次)、二叉树的删除
文章目录一、树的介绍1.1为什么需要树这种数据结构1.1.1数组存储方式的分析1.1.2链式存储方式的分析1.1.3树存储方式的分析1.2基本介绍1.3树的常用语二、二叉树定义三、二叉树的操作3.1二叉树遍历说明3.2实例3.3二叉树遍历3.3.1HeroNode.java结点3.3.2BinaryTree.java二叉树3.3.3T1_BinaryTreeMain.java测试类3.3.4测试结
冯insist
·
2020-08-16 05:58
数据结构与算法
常见经典排序算法学习总结(插入、shell、冒泡、选择、归并、快排等)
博主在学习过程中深感基础的重要,经典排序算法是
数据结构与算法学习
过程中重要的一环,这里对笔试面试最常涉及到的7种排序算法(包括插入排序、希尔排序、选择排序、冒泡排序、快速排序、堆排序、归并排序)进行了详解
Hao_09
·
2020-08-15 08:52
Date
Structures
小白的
数据结构与算法学习
笔记(十九)----二叉树的性质与存储结构
一、性质1、在二叉树的第i层上至多有个结点(i>=1)2、深度为k的二叉树至多有个结点(k>=1)注:以上两条考虑满二叉树即可3、对任意一棵二叉树,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1证明:设度为1的结点数为n1,则二叉树结点总数为n=n0+n1+n2总连接数=n-1=n1+2*n2所以n0+n1+n2-1=n1+n2+n2所以n0=n2+14、具有n个结点的完全二叉树的
啥都不会的小白
·
2020-08-15 03:31
数据结构与算法
#
数据结构与算法学习
笔记#剑指Offer57:按之字形顺序打印二叉树(Java、C/C++)
2019.2.26《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门之前做过层序遍历二叉树的题:#
数据结构与算法学习
笔记#剑指Offer21:从上往下打印二叉树/层次遍历二叉树(Java、C/
NJU_ChopinXBP
·
2020-08-14 18:33
C/C++
数据结构与算法
剑指Offer
JAVA
数据结构与算法
剑指Offer
二叉树
层序遍历
双向链表
数据结构与算法学习
五:双链表的增、删、改、查
文章目录前言一、双链表的应用实例二、单链表的缺点分析三、双链表增删改查思路四、代码实现4.1项目结构4.2HeroNode.java节点类4.3DoubleLinkedList.java双链表类4.4DoubleLinkedListMain.java测试类4.5测试结果前言一、双链表的应用实例使用带head头节点的双向链表实现-水浒传英雄排行榜二、单链表的缺点分析单向链表,查找的方向只能是一个方向
冯insist
·
2020-08-13 17:51
数据结构与算法
#
数据结构与算法学习
笔记#剑指Offer42:翻转单词顺序列 + 测试用例(Java、C/C++)
2019.1.2《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门网上很多方法,包括原书上的方法都是对句子进行两次翻转,第一次整个字符串翻转,第二个以空格为间隔对每一个单词进行翻转。如果用Java的话可以不用这么麻烦,利用split按空格拆分字符串,把最后一个字符串转为StringBuilder,再从后往前不断append即可。题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符
NJU_ChopinXBP
·
2020-08-12 15:03
C/C++
数据结构与算法
JAVA
剑指Offer
#
数据结构与算法学习
笔记#剑指Offer35:数字在排序数组中出现的次数 + 测试用例(Java、C/C++)
2018.10.24《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门今天是程序员节,但是程序员有啥节好过的,还是好好干活吧~这道题也是一道效率题,根据实际情况的不同有两个比较好用的方法:方法一:平均复杂度o(n)。二分找到某一个K的位置,从该位置起向前向后分别计数后求和。对K数量较少时好用。方法二:平均复杂度o(logn)。找到K起始和结束位置,做差计算中间K的个数。对K数量较多时好用
NJU_ChopinXBP
·
2020-08-12 15:02
C/C++
数据结构与算法
JAVA
剑指Offer
#
数据结构与算法学习
笔记#剑指Offer19:最小栈/包含min函数的栈 + 测试用例(Java、C/C++)
2018.8.16《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门这道题目的意思是要实现一个栈,这个栈还要能够以o(1)的复杂度给出最小值,也就是直接能给出最小值。初看一下好像用一个min存储当前的最小值即可。可是细细一想,如果栈弹出了一个元素,那次小值要怎么找呢?正确方法是开两个栈(一个datastack,一个minstack),再用一个min存储压栈时的最小值,每次元素入datas
NJU_ChopinXBP
·
2020-08-12 15:02
数据结构与算法
C/C++
剑指Offer
JAVA
#
数据结构与算法学习
笔记#剑指Offer13:求链表中倒数第K个结点+测试用例(Java、C/C++)
2018.8.9《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门题目不难,定义一前一后两个指针,前一个指针比后一个指针快K-1个结点,然后两个指针同步推进,直到前一个指针到达链表尾部,后一个指针所指向的位置就是链表中倒数第K个结点。需要注意的边界条件:1.指针为null,2.参数为0,3.参数大于结点数同样的题目还有一些变式:1.求链表的中间结点——前一个指针比后一个指针速度快一倍的速
NJU_ChopinXBP
·
2020-08-12 15:02
C/C++
数据结构与算法
JAVA
剑指Offer
#
数据结构与算法学习
笔记#剑指Offer15:顺序链表合并+测试用例(Java、C/C++)
2018.8.12《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门发现很久很久之前刚刚开始学数据结构的时候就用C++写过这道题:#
数据结构与算法学习
笔记#PTA2:顺序链表合并(C/C++)
NJU_ChopinXBP
·
2020-08-12 15:02
C/C++
数据结构与算法
剑指Offer
JAVA
Java尚硅谷
数据结构与算法学习
记录(8)-排序算法
排序排序也称排序算法(SortAlgorithm),排序是将一组数据,依指定的顺序进行排列的过程。排序的分类:内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。冒泡排序冒泡排序(BubbleSorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值
liililiya
·
2020-08-12 12:45
java
数据结构与算法学习
_队列与循环队列(数组实现)
队列(Queue)队列是一个有序列表,可以用数组或是链表实现遵循先入先出的原则,即先存入的数据先取出,后存入的数据后取出数组模拟队列队列本身是有序列表,若使用数组的结构来存储队列的数据,则将该数组称为队列数组思路分析maxSize是队列的最大容量,也就是数组的空间大小front和rear都是数组的下标,用来记录队列的存入或取出的位置,即队列的头和尾代码实现(1)先定义一个队列类classArray
鲜肉包
·
2020-08-10 22:59
java数据结构与算法
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他