![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
ytingyu
System.out.println("好看的代码千篇一律,有趣的代码万里挑一");
展开
-
排序算法
一.排序算法 (1)排序稳定性 (2)内排序和外排序 (3)算法衡量标准 1.简单选择排序 2.冒泡排序 3.插入排序 4.希尔排序 5.堆排序 6.归并排序 7.快速排序 优化 (1)优化中间枢纽值 (2)优化交换位置 (3)优化小数组时排序方案 (4)优化递归操作 一.排序算法 首先明白几个概念 (1)排序稳定性 简单来讲就是对于两个相同的元素,比如a1...原创 2018-08-04 19:22:30 · 195 阅读 · 1 评论 -
二分查找
二分查找 思想就是我们传统的猜数思想,别人心里想一个数,给你范围,让你进行最少次数的猜测,你肯定先从中间开始猜测,不断折半猜,直到猜到正确的为止。也就是针对一个有序集合,不断缩小区间,直到找到要找的数为止。时间复杂度logn,推理一下:寻找大小为n的数组一个数所需要的区间缩小变化1/2*k=n ,k次缩小,logn=k 适用场景: (1)适用于顺序表结构,用链表实现也可,但是要多加一个数据域,就是...原创 2019-04-16 12:52:23 · 104 阅读 · 0 评论 -
二叉排序树
二叉排序树 定义:左子树小于根节点,右子树大于根节点,不一定是平衡树。 散列表的插入查找删除基本已经做到了O(1)但好多时候还用二叉查找树原因: (1)本身底层结构使然 :散列表底层是数组,且采用散列函数确定位置,散列函数等的设计所要考虑因素多,扩容缩容处理比较复杂,由于散列函数以及哈希冲突的存在,速度不一定优于二叉树。而二叉树采用树的结构,随用随申请空间,且只需要考虑平衡性的问题,较为成熟,且使...原创 2019-05-08 09:29:33 · 298 阅读 · 0 评论 -
散列表
散列表 1.原理:基于数组下标可随机访问原理,用于快速查询某个数据,时间复杂度O(1),但不绝对,跟装载因子,散列函数,冲突函数啥的都有关系 组成:table=Hash(key),key是原始值,table表示经过哈希处理的哈希值,Hash表示哈希函数,是table 与key的一种映射关系. 散列函数选取原则:散列函数得到的值非负;对于key1=key2,Hash(key1)==Hash(key2...原创 2019-05-30 10:22:04 · 683 阅读 · 0 评论