算法基础
文章平均质量分 92
geeks notes
分享计算机基础,算法相关笔记
展开
-
快速排序的JAVA实现、优化和应用
基本概念快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法思想基本思想是分治的思想,说到分治,就应该想到原创 2018-01-21 16:25:54 · 1862 阅读 · 0 评论 -
Java实现二叉树的遍历、添加、删除
定义二叉树在图论中是这样定义的:二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。然而,没有足够的信息来区分左结点和右结点。如果不考虑连通性,允许图中有多个连通分量,这样的结构叫做森林。为什么需要使用二叉树二叉树,本质上,是对链表和数组的一个折中。 比如,我有一个任务,需要输入原创 2018-01-23 15:08:20 · 1166 阅读 · 0 评论 -
三种简单排序(冒泡、插入、选择)的比较和图解
冒泡排序这种排序方式是最容易理解的,主体思想就是: 指针重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。接下来我们来看看冒泡排序的图解,这里一个推荐网站:https://visualgo.net/ ,里原创 2018-01-20 16:09:43 · 58810 阅读 · 0 评论