常用算法
文章平均质量分 68
springlustre
这个作者很懒,什么都没留下…
展开
-
Trie树的建立—查找字典中以特定字符串开头的单词数量(java实现)
Trie树的定义在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。Trie这个术语来自于retrieval。原创 2017-05-03 22:19:25 · 1727 阅读 · 0 评论 -
堆排序详解(python实现)
1、堆的定义满足以下情形的数据结构:情形1:ki <= k2i 且ki <= k2i+1 (最小化堆或小顶堆:左、右子孩子的值比父结点的值都大)情形2:ki >= k2i 且ki >= k2i+1 (最大化堆或大顶堆:左、右子孩子的值比父结点的值都小)2、堆排序一般从小到大的排序利用大顶堆实现。基本思想为:1、将初始待排序关键字序列构建成大顶堆2、将堆顶元素R[1]与最后一...原创 2018-02-17 16:50:58 · 742 阅读 · 0 评论 -
八种排序算法总结和python实现(插入、希尔、选择、堆、冒泡、快排、归并、基数)
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。内排序有可以分为以下几类:(1)、插入排序:直接插入排序、二分法插入排序、希尔排序。(2)、选择排序:简单选择排序、堆排序。(3)、交换排序:冒泡排序、快速排序。(4)、归并排序(5)、线性时间排序:计数排序、基数排序、桶排序堆排序、快速排...原创 2018-03-17 00:57:09 · 549 阅读 · 0 评论