数据结构与算法
阿成_
有问题可留言
一笑而过-阿成
QQ技术交流群:111074552
展开
-
什么是红黑树?
什么是红黑树? ———————————— 二叉查找树(BST)具备什么特性呢? 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有...转载 2020-04-07 18:00:12 · 210 阅读 · 0 评论 -
递归算法
自己调用自己把复杂的逻辑简单化,可以求得最终结果。 一,第30位数的值。 1,有 1、1、2、3、5、8.......用递归算法求第30位数的值? 首先我们能够发现从第3位数起后一位数等于前两位数值之和,即:x=(x-1)+(x-2),x>2; 这里须要不断的相加,第一时刻就会想到循环处理,我们尝试用数组去装载这些数值,即: int[] a=new int[30...原创 2020-03-25 22:21:17 · 265 阅读 · 0 评论 -
快速排序
目录 一、算法步骤 二、代码部分 三、算法分析 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 快速排序又是一种分而治之思想在排序算法上的典型应用。本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。 一、算法步骤 1,从数列中挑出一个元素,称为 "基准"(pivot); 2,重新排序数列...原创 2020-02-19 19:44:37 · 178 阅读 · 0 评论 -
冒泡排序
目录 一、算法步骤 二、代码部分 1、第一种方法 2、第二种方法 3、第三种方法 三、算法分析 一、算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一...原创 2020-02-19 19:34:43 · 175 阅读 · 0 评论