
数据结构与算法
iceman1952
这个作者很懒,什么都没留下…
展开
-
排序算法
sorting algorithmhttps://en.wikipedia.org/wiki/Sorting_algorithm排序算法本文来自于:https://en.wikipedia.org/wiki/Sorting_algorithm本文保留了上面链接的绝大部分内容,省略了“我自认为”不重要的部分。点击上面链接查看原文在计算机科学中,排序算法就是把list中的元素 按特定顺...原创 2020-04-22 21:08:58 · 1087 阅读 · 0 评论 -
QuickSort(快速排序)
快速排序(QuickSort)的递归实现 。以后可千万别和二分查找(BinarySort)混淆啦 public class QuickSort ...{ public static void quickSort(int[] a, int low, int high) ...{ if (low high) ...{ int pivo原创 2008-03-13 11:31:00 · 965 阅读 · 0 评论 -
BinarySearch(二分查找,折半查找)
老是搞混了二分查找(BinarySearch)和快速排序(QuickSort ),今天在这里记录下,省得以后在忘记啦。先记二分查找吧, public class BinarySearch ...{ // copy from JDK's java.util.Arrays.binarySearch(int[], int) public static int bina原创 2008-03-13 09:15:00 · 3740 阅读 · 0 评论 -
图的 深度优先搜索(DFS) 以及 广度优先搜索(BFS)
1、深度优先尽快远离起始点哭着闹着找到最远处的节点(所以,“深度优先” 可以理解为 “远度优先”)1. 先访问起始点的 一个 邻居2. 以此 邻居 为跳板,将 此邻居 的所有邻居都访问完成(当然,在访问 邻居的邻居 时候, 邻居的邻居的邻居 也要都被访问完成,最终的结果是 从此邻居向后,其实统统被访问过了)3. 2 完成后,再回到起始点,然后访问起始点的 下一个原创 2011-11-23 15:13:55 · 735 阅读 · 0 评论 -
二叉 搜索/查找 树、二叉排序树、BST
1、左子树的所有节点 都小(比其根)2、右子树的所有节点 都大(比其根)原创 2013-01-15 10:52:11 · 635 阅读 · 0 评论 -
给定1亿int,找出最大的100个
给定1亿个数,找出 最大的 100个1. 用一个长度是 101 的数组,建立 小顶堆(0号元素不用,主要是为了使用堆的性质:父结点i,则,左右结点是 2i 和 2i+1)2. 用堆顶 和 每个 取得的数 进行比较。(a. 堆顶 >= 取得的数,则,忽略 取得的数 b. 否则,把堆顶 替换为 取得的数)3. 新得到的堆, 堆顶 的左右子树 都是 完美堆。需要调整 堆顶(调整算法 就是 构原创 2015-01-11 20:16:57 · 1618 阅读 · 2 评论