Java学习手册:数据结构与算法汇总

本文涵盖Java数据结构与算法的精粹知识点,包括链表、栈与队列、排序算法、位运算、字符串处理、数组操作、二叉树、递归及动态规划等核心主题。同时提供LeetCode经典题目解析及2020届名企秋招真题,旨在帮助Java程序员高效准备面试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本部分包含三个模块:

1、模块一:数据结构与算法程序题汇总
  • 一、Java程序员面试笔试宝典——第八章(数据结构与算法)+补充
  • 二、Leetcode刷题
  • 三、2020届秋招笔试题

注:面试概率高的已标黄

2、模块二:Java数据结构

模块一:数据结构与算法程序题汇总(不断更新中)

专栏地址:https://blog.youkuaiyun.com/MaybeForever/column/info/41255

一、Java程序员面试笔试宝典——第八章(数据结构与算法)+补充

1、PAT(Basic Level)Practise-----1001

2、Java学习手册:(数据结构与算法-链表)如何实现单链表的增删操作?

3、Java学习手册:(数据结构与算法-链表)如何实现单链表排序?

4、Java学习手册:(数据结构与算法-链表)如何从链表中删除重复元素?

5、Java学习手册:(数据结构与算法-链表)如何找出单链表中的倒数第K个元素?

6、Java学习手册:(数据结构与算法-链表)如何实现链表反转?

7、Java学习手册:(数据结构与算法-链表)如何从尾到头输出单链表?

8、Java学习手册:(数据结构与算法-链表)如何寻找单链表的中间结点元素?

9、Java学习手册:(数据结构与算法-链表)如何在不知道头指针的情况下删除指定结点?

10、Java学习手册:(数据结构与算法-栈与队列)如何实现栈?

11、Java学习手册:(数据结构与算法-栈与队列)如何用O(1)的时间复杂度求栈中最小的元素?

12、Java学习手册:(数据结构与算法-栈与队列)如何实现队列?

13、Java学习手册:(数据结构与算法-栈与队列)如何用两个栈模拟队列?

14、Java学习手册:(数据结构与算法-排序)插入排序

15、Java学习手册:(数据结构与算法-排序)希尔排序

16、Java学习手册:(数据结构与算法-排序)冒泡排序

17、Java学习手册:(数据结构与算法-排序)快速排序

18、Java学习手册:(数据结构与算法-排序)选择排序

19、Java学习手册:(数据结构与算法-排序)归并排序

20、Java学习手册:(数据结构与算法-排序)堆排序

21、Java学习手册:(数据结构与算法-位运算)如何用位移操作实现乘法运算?

22、Java学习手册:(数据结构与算法-位运算)如何判断一个数是否为2的n次方?

23、Java学习手册:(数据结构与算法-位运算)如何求二进制中1的个数?

24、Java学习手册:(数据结构与算法-字符串)如何实现字符串的反转?

25、Java学习手册:(数据结构与算法-字符串)如何判断两个字符串是否由相同的字符组成?

26、Java学习手册:(数据结构与算法-字符串)如何统计一行字符中有多少个单词?

27、Java学习手册:(数据结构与算法-字符串)如何删除字符串中重复的字符?

28、Java学习手册:(数据结构与算法-字符串)如何输出字符串的所有组合?

29、Java学习手册:(数据结构与算法-数组)如何按要求打印数组的排列情况?

30、Java学习手册:(数据结构与算法-二叉树)如何实现二叉排序树?

31、Java学习手册:(数据结构与算法-二叉树)如何层序遍历二叉树?

32、Java学习手册:(数据结构与算法-二叉树)已知先序遍历和中序遍历,如何求后序遍历?

33、Java学习手册:(数据结构与算法-二叉树)求二叉树中结点的最大距离

34、Java学习手册:(数据结构与算法)如何消除嵌套的括号?

35、Java学习手册:(数据结构与算法)如何不使用比较运算就可以求出两个数的最大值和最小值?

36、Java学习手册:(数据结构与算法-数组)如何找出数组中的最大元素与最小元素?

37、Java学习手册:(数据结构与算法-数组)如何找出数组中第二大的数?

38、Java学习手册:(数据结构与算法-正则表达式)如何判断一个身份证号码是否符合要求?

40、Java学习手册:(数据结构与算法-递归)一个人爬楼梯,可以一次爬一阶或者两阶,问n层楼梯有多少种爬法?

41、Java学习手册:(数据结构与算法-数组/动态规划)买卖股票的最佳时机(leetcode)

42、Java学习手册:(数据结构与算法-排序)三路快排

43、Java学习手册:(数据结构与算法-数组)如何找出数组中重复元素最多的数?

44、Java学习手册:(数据结构与算法-数组)如何求数组中两两相加等于20的组合

45、Java学习手册:(数据结构与算法-查找)二分查找

46、Java学习手册:(数据结构与算法-数组)如何把一个数组循环右移k位?

47、Java学习手册:(数据结构与算法-数组)如何求最大连续子数组之和?

48、Java学习手册:(数据结构与算法-数组)如何找出数组中第k个最小的数?

49、Java学习手册:(数据结构与算法-数组)如何找出数组中只出现一次的数字?

50、Java学习手册:(数据结构与算法-数组)如何找出数组中唯一的重复元素?

51、Java学习手册:(数据结构与算法-数组)如何用递归方法求出一个整数数组的最大元素?

52、Java学习手册:(数据结构与算法-数组)如何求数对之差的最大值?

53、Java学习手册:(数据结构与算法-数组)如何求绝对值最小的数?

54、Java学习手册:(数据结构与算法-数组)如何求数组中两个元素的最小距离?

55、Java学习手册:(数据结构与算法-数组)如何求指定数字在数组中第一次出现的位置?

56、Java学习手册:(数据结构与算法-数组)如何对数组的两个子有序段进行合并?

57、Java学习手册:(数据结构与算法-数组)如何计算两个有序整型数组的交集?

58、Java学习手册:(数据结构与算法-数组)如何判断一个数组中数值是否连续相邻?

59、Java学习手册:(数据结构与算法-数组)如何求解数组中反序对的个数?

60、Java学习手册:(数据结构与算法-数组)如何求解最小三元组的距离?


二、LeetCode刷题(不断更新中)

LeetCode刷题地址:https://leetcode-cn.com/problemset/all/

1、Java学习手册:(数据结构与算法-数组)Two Sum(leetcode1)

3、Java学习手册:(数据结构与算法-数组)Longest Substring Without Repeating Characters(leetcode3)

17、Java学习手册:(数据结构与算法-字符串)Leter Combinations of a Phone Number(leetcode17)

20、Java学习手册:(数据结构与算法-栈与队列)Valid Parentheses(leetcode20)

51、Java学习手册:(数据结构与算法-数组)N-Queens(leetcode51)

75、Java学习手册:(数据结构与算法-数组)Sort Colors(leetcode75)

77、Java学习手册:(数据结构与算法-数组)Combinations(leetcode77)

79、Java学习手册:(数据结构与算法-数组)Word Search(leetcode79)

200、Java学习手册:(数据结构与算法-数组)Number of Islands(leetcode200)

209、Java学习手册:(数据结构与算法-数组)Minimun Size Subarray Sum(leetcode209)

219、Java学习手册:(数据结构与算法-数组)Contains Duplicate II(leetcode219)

220、Java学习手册:(数据结构与算法-数组)Contains Duplicate III(leetcode220)

283、Java学习手册:(数据结构与算法-数组)Move Zeros(leetcode283)

447、Java学习手册:(数据结构与算法-数组)Number of Boomerangs(leetcode447)

454、Java学习手册:(数据结构与算法-数组)4Sum(leetcode454)


三、2020届秋招笔试题

1、Java学习手册:拼多多20届学霸批笔试编程题第二题

2、诺瓦科技2020届校园招聘——请写出一个线程安全的单例类

3、Java学习手册:大疆创新2020届校园招聘——软件类岗位B卷题二

4、Java学习手册:大疆创新2020届校园招聘——软件类岗位B卷题一

5、Java学习手册:华为2020届校园招聘——软件题

6、Java学习手册:贝壳找房2020校招——移动端工程师试卷

7、Java学习手册:广联达2020届校园招聘——软件开发工程师/测试工程师



模块二:Java数据结构

一、队列的基本操作

操作含义返回值
add增加一个元素如果队列已满,则抛出一个IIIegaISlabEepeplian异常
remove移除并返回队列头部的元素如果队列为空,则抛出一个NoSuchElementException
element返回队列头部的元素如果队列为空,则抛出一个NoSuchElementException
offer添加一个元素并返回true如果队列已满,则返回false
poll移除并返回队列头部元素如果队列为空,则返回null
peek返回队列头部的元素如果队列为空,则返回null
put添加一个元素如果队列满,则阻塞
take移除并返回队列头部的元素如果队列为空,则阻塞

二、未完待续


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值