数据结构与算法
分享学习和工作中遇到的经典的或好玩的算法问题~
程序员X小鹿
前互联网大厂程序员/AIGC爱好者/自由职业2年+
展开
-
面试中又被问到链表反转,OMG~ 码它,Mark它!(含递归实现、非递归实现、创建链表、打印链表、测试程序的完整代码——Java版)
链表的反转,可谓在面试中的高频题目了,经常会被问到。像微软,Facebook,amazon,Adobe等大公司的面试或笔试题,也都会出现这个题目。今天又被问到了,OMG\~然而我不怕。看完今天这篇文章,相信你们也能在面试官面前帅气的写下这个算法了。原创 2020-04-21 16:43:01 · 417 阅读 · 0 评论 -
二分搜索树的完整实现,含BST所有常用操作(Java实现)
二分搜索树(Binary Search Tree),不仅可以高效的查找、插入、删除数据,动态的维护数据,还可以方便的回答很多数据之间关系的问题。本文主要讲述二分搜索树的基础知识,并重点介绍二分搜索树的遍历(深度优先遍历 / 广度优先遍历)以及删除操作。并在文章的最后,给出了二分搜索树的完整代码,包括二分搜索树的结构、构建、查找、遍历(前序 / 中序 / 后续 / 层序)、最大节点、最小节点、删除(删除最小节点 / 最大节点 / 任意节点)等操作。原创 2020-04-19 19:28:59 · 632 阅读 · 0 评论 -
二分查找法的递归与非递归实现,以及容易忽视的溢出(Java实现)
二分查找法,相信大家都不陌生。是大学的数据结构与算法这门课中,最先接触的几个算法之一。它的实现原理和代码都比较简单。本文用两种方式,递归和非递归的方式,来实现二分查找算法。算法中,对于容易出现溢出的地方,做了改进,希望大家注意。在最后,还留了思考,就是二分查找算法的floor和ceil的实现,有兴趣的可以研究一下。划重点,对于有序序列,才能使用二分查找。原创 2020-04-19 18:03:44 · 373 阅读 · 0 评论