![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java算法学习
沙雕码农
任何值得做的事都值得我们做好
展开
-
10-java算法学习之五(二分查找)
半窗疏影,一梦千年,琴歌萧萧笛声怜 二分查找有一个必须条件,就是数组是有顺序的,可以从小到大,也可以从大到小。 二分查找虽然有时候查找效率比不上其他查找算法,但是总体上看来,二分查找还是一种比较简单而且效率比较高的查找算法。 - LeetCode中一个二分查找为例。 用二分查找实现代码如下: class Solution { public int search(int[] nums,...原创 2020-02-22 12:20:02 · 127 阅读 · 0 评论 -
06-java算法学习之一(链表问题)
荷叶罗裙一色裁,芙蓉向脸两边开。 乱入池中看不见,闻歌始觉有人来。----王昌龄 在我第一篇博客中,我利用单链表制作了一个“学生成绩管理系统“。链表有单链表,双链表和循环链表,所以我想就我之前学习的链表,做一个总结,对比分析。 1. 单向链表 2. 双向链表 考虑链表问题的关键在于,你是否一想到链表,脑子里就能马上出现一幅画面 !链表的共同之处,构建节点(node)。 单链表node的创建...原创 2019-09-05 21:02:04 · 146 阅读 · 0 评论 -
07-java算法学习之二(稀疏数组和队列)
君看今日树头花,不是去年枝上朵。—王国维《玉楼春》 !一.什么是稀疏数组? 啥是“稀疏数组”呢? 答:所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采用一种压缩的方式来表示稀疏数组的内容。 ! 二.稀疏数组的使用。 比如以下数组,如果我们要存储数据,4*6 0 0 0...原创 2019-09-07 00:18:32 · 520 阅读 · 0 评论 -
08-java算法学习之三(递归和八皇后问题)
事莫待来时忍,欲莫待动时防。即来思隐,即动思防,如火炽水溢,障之甚难。—曾国藩 讲到递归,我脑子里就会想起菲波纳契数列和迷宫游戏。要是让你在下面这样的迷宫中,去找到一条能顺利从入口到出口的线路,你可能要几分钟,但是如果编写一个程序,只要你一执行,它就能马上给你答案。你可能要问,到底怎么回事呢?仿佛说来说去,都不知道递归是什么。那到底递归是什么呢? !一.什么是递归? 递归指的是一个过程:函数...原创 2019-09-07 23:41:38 · 164 阅读 · 0 评论 -
09-java算法学习之四(栈)
** 凡办大事,以识为主,以才为辅;凡成大事,人谋居半,天意居半。—曾国藩** !关于栈。 啥是栈呢? 答:栈是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表,所以我们也常常说栈是一种运算受限的线性表。栈是按照先进后出的原则存储数据的,所以我们如果把12345这五个数字依次压入栈,会发现出栈顺序依次变成54321。 ...原创 2019-09-09 22:52:04 · 133 阅读 · 0 评论