![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
数据结构与算法
鹿与森呀
这个作者很懒,什么都没留下…
展开
-
常见排序算法(Java实现)
排序算法概述 常见排序算法主要分为两种(本文log皆以2为底): 算法 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度 稳定性 选择排序 O(N²) O(N²) O(N²) O(1) 不稳定 冒泡排序 O(N²) O(N²) O(N) O(1) 稳定 插入排序 O(N²) O(N²) O(N) O(1) 稳定 希尔排序 O(N^1.3) (shell序列) O(N²) O(N^1.3) O(1) 不稳定 快速排序 O(N logN) O(N²) O(N logN) O(N logN原创 2020-03-09 23:49:26 · 205 阅读 · 0 评论 -
二叉树常见遍历算法
二叉树常见遍历 先序遍历:先根后左再右,根左右。 中序遍历:先左后根再右,左根右。 后序遍历:先左后右再根,左右根。 广度优先遍历:一种图算法,二叉树中一般称为层序遍历。广度优先遍历按层处理,据开始点最近的那些顶点先被处理,而最远的那些顶点最后被处理。 深度优先遍历:一种图算法,深度优先遍历从某个顶点v出发,依次从v的未被访问的邻接点出发,对图进行深度优先遍历,直至图中和v有路径相通的顶...原创 2020-01-25 20:05:04 · 147 阅读 · 0 评论 -
散列表与散列冲突
目录 散列表与散列冲突 解决散列冲突的方法 1.分离链接法(拉链法) 2.开放寻址法 再散列 散列表与散列冲突 HashTable,音译为哈希表,是根据关键字(key)而直接进行访问的数据结构。关键字k,值存放在f(k)的存储位置上,则f为散列函数。关键字(key)通过散列函数直映射到表中一个位置,以加快查找速度。 散列冲突,因为存储单元数目是有限的,当关键字数量增大时,两个不同的...原创 2020-01-08 23:52:18 · 1637 阅读 · 0 评论 -
递归简述
递归四条基本法则: 基准情形。必须总要有某些基准情形,它无需递归就能解出。 不断推进。对于那些需要递归求解的情形,每一次递归调用就必须要使状况朝向一种基准情形推进。 设计法则。假设所有的递归都能运行。 合成效益法则。在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性的工作。 ...原创 2019-12-26 23:26:24 · 106 阅读 · 0 评论