Java算法和数据结构面试问题

1.数组面试问题

数组是最基本的数据结构,它将元素存储在连续的内存位置。这也是采访者的一个主要话题,你会在任何编码访谈中听到很多关于数组的问题,例如反转数组,排序数组或搜索数组中的元素。

  1. 如何在给定的1到100的整数数组中找到缺失的数字?
  2. 如何在给定的整数数组上找到重复的数字?
  3. 如何在未排序的整数数组中找到最大和最小的数字?
  4. 你如何找到所有对的整数数组,其总和等于给定的数字?
  5. 如果数组包含多个重复项,如何在数组中找到重复的数字?
  6. 如何从Java中的给定数组中删除重复项?
  7. 如何使用快速排序算法对整数数组进行排序?
  8. 如何从阵列中删除重复项?
  9. 你如何在Java中反转数组?
  10. 如何在不使用任何库的情况下从数组中删除重复项?

2.链表面试问题

链表是节点列表,其中每个节点包含存储的值和下一个节点的地址。

由于这种结构,在链表中添加和删除元素很容易,因为您只需要更改链接而不是创建数组,但搜索很困难,并且通常需要花费O(n)时间来查找元素。单链表。

它还有各种类似链表,可以让你在一个方向上移动(向前或向后); 双向链表,允许您双向移动(向前和向后); 最后,圆形链表,形成一个圆圈。

为了解决基于链表的问题,良好的递归知识很重要,因为链表是递归数据结构。

如果从链接列表中获取一个节点,则剩余的数据结构仍然是链接列表,因此,许多链接列表问题具有比迭代解决方案更简单的递归解决方案。

  1. 如何在一次通过中找到单链表的中间元素?
  2. 如何检查给定链表是否包含循环?你如何找到循环的起始节点?
  3. 你如何扭转链表?
  4. 如何在没有递归的情况下反转单链表?
  5. 如何在未排序的链表中删除重复节点?
  6. 你如何找到单链表的长度?
  7. 如何在单链表中找到最后的第三个节点?
  8. 如何使用Stack找到两个链表的总和?

3.字符串面试问题

与数组和链表数据结构一起,字符串是编程工作访谈的另一个热门话题。

字符串的一个好处是,如果你知道数组,你可以很容易地解决基于字符串的问题,因为字符串只是一个字符数组。因此,通过求解基于数组的编码问题所学到的所有技术也可用于解决字符串编程问题。

  1. 如何从字符串中打印重复的字符?
  2. 你如何检查两个字符串是否是彼此的字谜?
  3. 如何从字符串中打印第一个不重复的字符?
  4. 如何使用递归来反转给定的字符串?
  5. 如何检查字符串是否只包含数字?
  6. 如何在字符串中找到重复的字符?
  7. 你如何计算给定字符串中的元音和辅音?
  8. 如何计算字符串中给定字符的出现次数?
  9. 你如何找到字符串的所有排列?
  10. 如何在不使用任何库方法的情况下反转给定句子中的单词?
  11. 你如何检查两个字符串是否相互旋转?
  12. 你如何检查给定的字符串是否是回文?

4.二叉树面试问题

到目前为止,我们只研究了线性数据结构,但现实世界中的所有信息都无法以线性方式表示,而这正是树数据结构所帮助的地方。

树数据结构是一种数据结构,允许您以分层方式存储数据。根据您存储数据的方式,有不同类型的树,例如二叉树,其中每个节点最多具有两个子节点。

除了它的近亲 二叉搜索树,它也是最流行的树数据结构之一。因此,您会发现很多基于它们的问题,例如如何遍历它们,计算节点,查找深度,以及检查它们是否平衡。

解决二叉树问题的一个关键点是对理论的强烈了解,例如二叉树的大小或深度,叶子是什么,节点是什么,以及对流行的遍历算法的理解,例如前,后和有序遍历。

  1. 如何实现二叉搜索树?
  2. 如何在给定的二叉树中执行前序遍历?
  3. 如何在没有递归的情况下按预先遍历给定的二叉树?
  4. 如何在给定的二叉树中执行有序遍历?
  5. 如何在没有递归的情况下使用inorder遍历打印给定二叉树的所有节点?
  6. 你如何实现一个后序遍历算法?
  7. 如何在没有递归的情况下遍历后序遍历中的二叉树?
  8. 如何打印二叉搜索树的所有叶子?
  9. 如何计算给定二叉树中的多个叶节点?
  10. 如何在给定数组中执行二进制搜索?

5.其他面试问题

除了基于数据结构的问题之外,大多数编程工作访谈还会询问算法,设计,位操作和基于逻辑的一般问题,我将在本节中对其进行描述。

练习这些概念很重要,因为有时在实际的面试中解决这些概念很棘手。

  1. 如何实现冒泡排序算法?
  2. 如何实现迭代快速排序算法?
  3. 你如何实现插入排序算法?
  4. 如何实现合并排序算法?
  5. 如何实现桶排序算法?
  6. 你如何实现计数排序算法?
  7. 如何实现基数排序算法?
  8. 如何在不使用第三个变量的情况下交换两个数字?
  9. 如何检查两个矩形是否相互重叠?
  10. 你如何设计自动售货机?
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容