本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

资源 | 从算法到数据结构,百道面试问题实现答案集合

时间:2017-04-09 16:36来源:报码现场 作者:本港台直播 点击:
参与:李亚洲、微胖、蒋思源 该资源是算法、数据结构以及面试问题解决方案的集合,里面的 repository 包含了我对常见算法问题的解答以及数据结构的实现(用 Java)。该资源集合处

参与:李亚洲、微胖、蒋思源

资源算法、数据结构以及面试问题解决方案的集合,里面的 repository 包含了我对常见算法问题的解答以及数据结构的实现(用 Java)。该资源集合处于持续更新中。

项目地址:https://github.com/sherxon/AlgoDS

目前为止,atv,该资源集合提供了算法、数据结构以及 200 道面试题的答案

  问题

问题被分成了三个等级:

简单问题:

中等问题:

困难问题:

问题方向

针对以下不同面试问题,各自的链接中都给出了解决方案。

阵列(Arrays)

旋转阵列(Rotate Array):

Contains Duplicate:

发现峰值元素:

最大化子阵列(Maximum Subarray):

阵列中第 k 最大的元素(Kth Largest Element in an Array):

搜索阵列中的所有 Duplicates:

最长增长子序列(Longest Increasing Subsequence):

旋转图像、矩阵(Rotate Image, matrix):

搅乱阵列(Shuffle an Array):

在旋转阵列中搜索最小值:

在旋转阵列中搜索:

链表(linked list)

单链表实现

双向链表实现(Doubly Linked List):

删除链表中的结点:

回文链表(Palindrome Linked List):

反向链表(Reverse Linked List):

两个链表的交集点(Intersection of Two Linked Lists):

链表循环:

从表的底部一处 Nth 节点:

合并分类链表(Merge Sort List):

发现链表循环:

合并 k 分类列表:

其他有关列表的问题:

二叉树(Binary Tree)

二叉树的层次遍历(Binary Tree Level Order Traversal):

左叶节点求和(Sum of Left Leaves):

二叉树转置(Invert Binary Tree):

二叉搜索树迭代器(Binary Search Tree Iterator):

二叉树后序遍历(Binary Tree Postorder Traversal):

二叉树前序遍历(Binary Tree Preorder Traversal):

平面化二叉树为链表(Flatten Binary Tree to Linked List):

对称树(Symmetric Tree):

二叉树中序遍历(Binary Tree Inorder Traversal):

相似树(Same Tree):

二叉树最大深度(Maximum Depth of Binary Tree):

平衡二叉树(Balanced Binary Tree):

二叉树最小深度(Minimum Depth of Binary Tree):

平衡二叉搜索树排序列表(Sorted List to Balanced Binary Search Tree):

验证二叉搜索树(Validate Binary Search Tree):

平衡搜索树排序列表(Sorted List to Balanced BST):

平衡搜索树第 k 最小元素(Kth Smallest Element in a BST):

二叉树的之字形层序遍历(Binary Tree Zigzag Level Order Traversal):

平衡搜索树的结点删除(Delete Node in a BST):

平衡树的最小公共祖先(Lowest Common Ancestor of BST):

二叉树的左视图(Binary Tree Left Side View):

二叉树的右视图(Binary Tree Right Side View):

平衡搜索树的众数(Mode in BST):

最高频率子树和(Most Frequent Subtree Sum):

搜寻每行最大元素(Find Largest Element in Each Row):

其他树型问题:

数学

整数拆分(Integer Break):

逆位(Reverse Bits):

回文数:(Palindrome Number):

幂(Math.pow):

壶和水的问题(Jug and Water Problem):

爱拉托逊新筛法(Sieve of Eratosthenes):

费马素数(Fermat's primality):

评估逆波兰式表示法(Evaluate Reverse Polish Notation):

堆栈&队列(Stack & Queue)

最小堆栈:

最小队列:

使用队列实现堆栈:

使用堆栈实现队列:

动态编程(Dynamic Programming)

斐波那契数列:

词内换行(word break):

子集和:

0/1 渐缩问题:

最短回文(KMP):

MISC

并查:

排列:

子集:

算法方向

排序与搜索(Sorting And Searching)

上推排序:

插入排序:

选择排序:

计算排序:

二叉搜索,上下界:

归并排序:

快速排序:

  图(Graphs

宽度优先搜索(BFS):

深度优先搜索(DFS):

Prim 最小生成树(MST):

KrusKal 最小生成树(MST):无

拓扑排序:

最短路径的戴克斯特拉算法(Dijsktra):

最短路径的 Bellman-Ford 算法:

启发式路径搜索(Heuristic Path Finding):

二分图:

字符串(String

Rabin Karp 序列搜索:

Ransom Note:

逆字符串(Reverse String):

最长公共前缀(Longest Common Prefix):

Is 易位构词(Anagram):

Needle and Haystack:

词内换行(word break):

数据结构

树(Trees

二叉搜索树(递归):

二叉搜索树(迭代):

AVL 树:

Trie(Prefix 树):

  本文为机器之心编译,atv转载请联系本公众号获得授权

  ?------------------------------------------------

加入机器之心(全职记者/实习生):[email protected]

投稿或寻求报道:[email protected]

广告&商务合作:[email protected]

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容