因为他们觉得反正招进来之后我也用不上二叉树,你们谁写业务代码的时候用上二叉树了?所以我不会就不会呗。这其实就是“高等数学有啥用,又不能用来买菜”的进化版本。

的确很少有写业务代码的时候会直接用上二叉树。但是真的没有吗?XML/DOM是什么?是不是一棵树?为什么DOM可以和XML一一对应?因为XML序列化就是树的遍历的结果。能和XML对应,也就能跟JSON对应,因为两者都可以对应到树(只是表示逻辑上有些区别)。

一个业务系统里有任务(Task),任务有相应的执行计划(Plan),计划可以用子任务组成,子任务可以是基础任务,也可以通过Plan拆分成更多的子任务。这是什么?这不就是树吗?那么怎么存储?JSON不就很好吗。怎么从JSON加载、再保存会JSON?树的遍历。怎么计算任务总共需要多少个基础任务?树的遍历。怎么计算计划总共需要多少时间?树的遍历。

一个社交系统里,用户可以加好友,好友还有别的好友,这是什么?无向图。如果是知乎这样的关注系统呢?有向图。一个用户点了个赞,扩散到另一个用户至少要经过几次转发?最短路径。我要画一个小圈子里的人之间的关系图,怎么做?最小生成树。我要整理信息路径,看这批用户里哪些生产内容,哪些阅读内容,按什么次序传播,怎么做?拓扑排序。

我们只是不想招一个看到上面这些话的时候一脸懵逼的人。

https://www.zhihu.com/question/23105514

为什么最难不过二叉树的算法出现在面试题中都会被应聘者抱怨?相关推荐

  1. 变量“componentresourcemanager”未声明或从未赋值_频繁出现在面试题中,却容易被人遗忘:变量、基本数据类型...

    学习是个循序渐进的过程,厚积薄发,水滴石穿.有志同道合的朋友请关注. 变量 变量是java基础中的基础,但经常在面试题中出现.什么是变量?变量就是存数的,代词,指代的就是它所存的那个数. 1)声明 i ...

  2. 给定一个n节点二叉树,写出一个O(n)时间的非递归的过程,将该树每个结点的关键字输出(算法导论第三版第十章10.4-5)

    给定一个n节点二叉树,写出一个O(n)时间的非递归的过程,将该树每个结点的关键字输出.要求除该树本树的存储空间外只能使用固定量的额外存储空间,且过程中不得修改该树,即使是暂时的修改也不允许. (算法导 ...

  3. 给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)

    给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构 (算法导论第十章10.4-3) template<typename T> ...

  4. 给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出(算法导论第十章10.4-2)

    给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出 (算法导论第十章10.4-2) #include <iostream> template<typena ...

  5. java二叉树合并_Java(树的前中后序遍历构造二叉树题型整合)前序和中序、中序和后序、前序和后序遍历序列构造二叉树算法整合归纳...

    前言 二叉树各种花里胡哨的算法题真的把我搞晕了,今天特地整理出一类有关二叉树的算法题,希望能帮助阅读到此文章的人,今后不再受此类题型的困扰. 一.题目类型 已知二叉树的两种遍历序列,请根据该序列构建二 ...

  6. 基于计数栈的非递归二叉树遍历算法

    转载请保留完整信息! 作者:中山大学 赵耀 10389332 创作时间:2013.11.25 发表时间:2013.12.11 背景 遍历算法一般可按深度优先或广度优先进行.对于二叉树,深度优先遍历可分 ...

  7. 【考研】东北大学二叉树相关算法(2)

    编写一个算法,判断给定的二叉树是否是二叉排序树 keyType predt=-32767; int JudgeBst(BiTree bt) {int b1,b2;if(bt==null)return ...

  8. 【算法】二叉树常见算法

    [算法]-- 二叉树常见算法 目录 一.单值二叉树 二.相同的树 三.另一棵树的子树 四.对称二叉树 五.判断完全二叉树 一.单值二叉树 1. 问题描述 如果二叉树每个节点都具有相同的值,那么该二叉树 ...

  9. 【树】二叉树遍历算法(深度优先、广度优先遍历,前序、中序、后序、层次)及Java实现...

    [树]二叉树遍历算法(深度优先.广度优先遍历,前序.中序.后序.层次)及Java实现 目录 一.前序遍历 二.中序遍历 三.后序遍历 四.层次遍历 遍历的作用 二叉树是一种非常重要的数据结构,很多其它 ...

最新文章

  1. 【C++】C/C++ 中default/delete特性
  2. 【Linux】使用xshell登陆时密码框为灰色,无法输入密码
  3. python面向什么编程_python基础-面向过程编程
  4. Zabbix RCE with API JSON-RPC
  5. jaxb_JAXB众所周知的秘密
  6. java对mysql的简单操作的综合运用——注册系统
  7. linux C 多进程架构,linux c 多进程多线程比较
  8. 控制理论与控制工程算计算机相关专业吗,控制理论与控制工程专业介绍
  9. MATLAB 求导、符号计算
  10. CryptoJS 加密
  11. PDF按页拆分为PDF单页或者图片
  12. 大学生涯(大四篇)毕业事件指南
  13. js 中的 let 关键字
  14. 英语学习逆向法 (钟道隆 著)
  15. VIVO内置应用卸载指南(IQOO NEO5为例)
  16. CPU占用过高问题的排查及解决
  17. MySQL(四)Select总结及补充聚合函数及分组过滤MD5加密
  18. jmeter之取样器(HTTP请求、调试取样器)
  19. 七牛云彭垚:智能平台的创新和发展
  20. Windows Dos脚本挂载硬盘或让硬盘脱机

热门文章

  1. java 解析m3u8的实例_m3u8文件完整实例及TS流抓取
  2. 行业专网对比公网,优势在哪儿?能满足什么特定要求?
  3. 仿网易新闻的首页+QQ的侧滑菜单栏
  4. catia如何整列加工_CATIA机械加工工艺教程
  5. 转专业2017武汉大学计算机学,转专业申请计算机,武大学子圆梦伯克利
  6. 基于H.264的RTP打包原理和FU-A分片实例分析
  7. matplotlib学习笔记
  8. 腾讯地图,百度地图兴趣点(POI)分类关键词表
  9. 极高水平的电吉他音源 Orange Tree Samples Evolution Stratosphere Kontakt
  10. 面试知识点梳理二:常见范数最小二乘