数据结构与算法

Java 八大排序算法

chenssy阅读(2051)评论(0)赞(13)

数据结构 + 算法 是我们编程的灵魂,其中一个都不能缺少,数据结构我们要掌握的也就那几种,算法也一样,其中排序算法是我们最常见的,也是面试、考核中最为广泛的,在 Java 的世界中我们需要掌握八大排序算法,这是我们进阶,进入大公司一定不能躲...

Java 排序算法 — 总结

chenssy阅读(324)评论(0)赞(2)

出处:https://github.com/iTimeTraveler/SortAlgorithms 各种排序性能对比如下,有些排序未详细介绍,暂且放到这里。实例测试结果可以看这里:八大排序算法耗时对比。 排序类型 平均情况 最好情况 最坏...

Java 排序算法 — 基数排序

chenssy阅读(315)评论(1)赞(0)

出处:https://github.com/iTimeTraveler/SortAlgorithms 基数排序的发明可以追溯到1887年赫尔曼·何乐礼在打孔卡片制表机(Tabulation Machine), 排序器每次只能看到一个列。它是...

Java 排序算法 — 归并排序

chenssy阅读(451)评论(0)赞(0)

出处:https://github.com/iTimeTraveler/SortAlgorithms 归并排序是建立在归并操作上的一种有效的排序算法,1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conqu...

Java 排序算法 — 快速排序

chenssy阅读(491)评论(0)赞(0)

出处:https://github.com/iTimeTraveler/SortAlgorithms 快速排序(Quicksort)是对冒泡排序的一种改进,借用了分治的思想,由C. A. R. Hoare在1962年提出。 1、基本思想 快...

Java 排序算法 — 冒泡排序

chenssy阅读(471)评论(0)赞(1)

出处:https://github.com/iTimeTraveler/SortAlgorithms 我想对于它每个学过C语言的都会了解,这可能是很多人接触的第一个排序算法。 1、基本思想 冒泡排序(Bubble Sort)是一种简单的排序...

Java 排序算法 — 堆排序

chenssy阅读(372)评论(0)赞(1)

出处:https://github.com/iTimeTraveler/SortAlgorithms 1991年的计算机先驱奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德(Robert W.Floyd) 和威廉姆斯(J.William...

Java 排序算法 — 简单选择排序

chenssy阅读(296)评论(0)赞(0)

出处:https://github.com/iTimeTraveler/SortAlgorithms “选择排序的示例动画。红色表示当前最小值,黄色表示已排序序列,蓝色表示当前位置。”)选择排序的示例动画。红色表示当...

Java 排序算法 — 希尔排序

chenssy阅读(467)评论(0)赞(1)

出处:https://github.com/iTimeTraveler/SortAlgorithms 希尔排序,也称递减增量排序算法,1959年Shell发明。是插入排序的一种高速而稳定的改进版本。 希尔排序是先将整个待排序的记录序列分割成...

Java 排序算法 — 直接插入排序

chenssy阅读(1082)评论(2)赞(6)

出处:https://github.com/iTimeTraveler/SortAlgorithms 插入排序的设计初衷是往有序的数组中快速插入一个新的元素。它的算法思想是:把要排序的数组分为了两个部分, 一部分是数组的全部元素(除去待插入...

看图轻松理解数据结构与算法

chenssy阅读(1944)评论(0)赞(6)

编程 = 算法 + 数据结构,算法和数据结构是编程的灵魂,也是我们往高级爬必须要征服的大山。他属于程序员最重要的内功,该系列文章涵盖了目前 Java 程序员需要学的算法和数据结构,主要内容包括线性表、树、图和广义表、算法设计策略以及查找与...

二叉搜索树的遍历

chenssy阅读(181)评论(0)赞(0)

作者:超人汪小建(seaboat) 出处:https://blog.csdn.net/wangyangzhizhou/column/info/25184/2 二叉搜索树 二叉搜索树(Binary Search Tree,简写BST),又称为...

看图理解基于数组的队列

chenssy阅读(165)评论(0)赞(0)

作者:超人汪小建(seaboat) 出处:https://blog.csdn.net/wangyangzhizhou/column/info/25184/2 队列 队列(queue)是一种运算受限的线性表,通过该线性表存储的元素具有顺序性。...

计数排序vs基数排序vs桶排序

chenssy阅读(231)评论(0)赞(0)

作者:超人汪小建(seaboat) 出处:https://blog.csdn.net/wangyangzhizhou/column/info/25184/2 从计数排序说起 计数排序是一种非基于元素比较的排序算法,而是将待排序数组元素转化为...

基于桶的基数排序

chenssy阅读(157)评论(0)赞(0)

作者:超人汪小建(seaboat) 出处:https://blog.csdn.net/wangyangzhizhou/column/info/25184/2 基数排序 基数排序(Radix Sort)算法是一种非比较的排序算法,早在 188...

看图轻松理解并查集

chenssy阅读(163)评论(0)赞(0)

作者:超人汪小建(seaboat) 出处:https://blog.csdn.net/wangyangzhizhou/column/info/25184/2 并查集 并查集(Disjoint Set)是一种用于处理不相交集合的数据结构,顾名...

图论广度优先搜索

chenssy阅读(203)评论(0)赞(0)

作者:超人汪小建(seaboat) 出处:https://blog.csdn.net/wangyangzhizhou/column/info/25184/2 关于图遍历 图遍历即图的遍历,指从图中任一顶点出发,对图中的所有顶点访问一次。图的...