数据结构
简单数据结构
卓汶
这个作者很懒,什么都没留下…
展开
-
插入排序实现
插入排序和选择排序都有相同点,就是将整个数组划分成两个部分,一个是已排序的部分,另一个是未排序的部分。插入排序是一个稳定的排序算法,选择排序是不稳定的,性能高于选择排序,对已排序的部分更高效。这里实现只需要将后面的元素与已排序数组的最前面的元素进行比较,直至不需要交换即可退出循环。小数据量排序,都会优先选择插入排序。缺点就是较大的元素在元素最前面时,移动次数会比较多。,不断扩大有序区域,缩减无需区域,首先会把。,再将原先的三插入到有序的部分相应的位置。插入属于稳定排序算法,而选择属于不稳定排序。原创 2022-10-29 15:19:41 · 254 阅读 · 0 评论 -
选择排序(与冒泡优缺比较)
将数组分为两个子集,排序的和未排序的,每一轮从未排序的子集中选出最小的元素,放入排序子集。重复以上步骤,直到整个数组有序。选泽排序与冒泡排序比较。原创 2022-10-29 14:38:58 · 487 阅读 · 0 评论 -
冒泡排序及其优化
【代码】冒泡排序及其优化。原创 2022-10-29 14:24:12 · 242 阅读 · 0 评论 -
java实现冒泡排序
冒泡排序冒泡排序是八大排序之一两层循环,外层冒泡轮数,里层依次比较。这种排序的时间复杂度为O(n2)package array_test;import java.util.Arrays;public class Array_Demo04 { public static void main(String[] args) { int[] array = {21,32,55,1,34,545,12,312,43,645,3432,432}; sort(array); System.o原创 2021-09-27 16:58:00 · 49 阅读 · 0 评论 -
二分查找及其优化
在二分查找中,我们需要寻找中间值,而中间值的相加可能会因为数值过大,溢出导致结果不正确,需要我们进行相应的优化。中间值右侧的其他元素都大于T,无需比较,向中间索引左侧去找,中间值左侧的其他元素都小于T,无需比较,向中间索引右侧去找,,确定搜索范围,循环执行二分查找(3、4步骤)5、当L>R时,表示没有找到,结束循环。二分查找的前提:所查找的数组是。,floor表示向下取整)3、获取中间的数据(索引。与待搜索的值T进行比较。表示找到,返回索引值。方法二:无符号右移运算。原创 2022-10-10 12:07:04 · 632 阅读 · 0 评论