数据结构及算法
数据结构及算法
楠之枫雪
简单的一个人
展开
-
查找
查找主要包含三种:1.顺序查找2.折半查找3.裴波那契查找顺序查找是从头到尾遍历一般,时间复杂度为O(n)折半查找就是二分法查找,把数组绘制成一棵二叉树,时间复杂度为O(logn),要比顺序查找高效。裴波那契利用了黄金分割原理来实现时间复杂度也是O(logn),但从平均性能说要优于折半查找,最坏的情况下比折半查找要差。注意这里的数据已经是在有序情况下的了原创 2015-10-25 19:02:27 · 374 阅读 · 0 评论 -
线性表的存储
常见三种:1.线性表的顺序存储:可以用数组实现,优点指定id,获取数据(get)与修改数据(set)比较容易,时间复杂度为常数,但是对于插入与删除就比较麻烦,时间复杂度最少为O(1),最多为O(n),平均时间复杂度为O(n).2.线性表单向链式存储:核心就是每个节点包含下一个节点的id,调用next获取下一个节点,这样的好处是,修改的时候只需要更改下一个节点的id就行了,缺点就是获取指定i原创 2015-10-26 15:55:16 · 813 阅读 · 0 评论 -
理解与实现KMP模式匹配算法
教你理解KMP匹配算法,并提供一种java实现的思路~原创 2015-10-22 15:48:40 · 650 阅读 · 0 评论 -
数据结构之---树
主要掌握两个方面:1.树的存储结构 2.二叉树。一。树的存储结构1.双亲表示法:【【 下标】【数据】【parentid】】2.孩子表示法:【【data】【child1】【child2 】【child3】....】3.双亲孩子表示法:【【下标】【parentid】【firstchildid】【secondchildid】....】 节点:【【下标】【next】】 页的话next原创 2015-10-27 14:10:04 · 444 阅读 · 0 评论 -
Java实现常见的7种排序算法
主要总结一下以下常见的排序以及其java的实现,包含有:比较排序冒泡排序插入排序希尔排序快速排序堆排序归并排序原创 2015-10-29 10:32:42 · 757 阅读 · 0 评论