![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
汐客SeaKr
这个作者很懒,什么都没留下…
展开
-
堆排序
一、堆堆是一种经过排序的树形数据结构,通常指二叉树,每个节点都有一个值。通常可以被看做是树的数组对象。且堆需要满足以下两个性质:堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。性质1:每个结点的值都大于其左孩子和右孩子结点的值,称之为大根堆;每个结点的值都小于其左孩子和右孩子结点的值,称之为小根堆。性质2:对于深度为K的,有n个结点的二叉树,当且仅当其每...转载 2019-12-03 16:22:01 · 197 阅读 · 0 评论 -
快速排序 - Lua语言实现
快速排序 - 选一基准元素,依次将剩余元素中小于该基准元素的值放置其左侧,大于等于该基准元素的值放置其右侧;然后,取基准元素的前半部分和后半部分分别进行同样的处理;以此类推,直至各子序列剩余一个元素时,即排序完成(类比二叉树的思想,from up to down)平均时间复杂度:O(NlogN) 稳定性:不稳定特点:快速排序在最坏的情况下时间复杂度是O(n**2),平均时间复杂度是O(...原创 2019-10-29 20:30:12 · 719 阅读 · 0 评论 -
归并排序(分治法)- lua实现
归并排序归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。(1)稳定性归并排序是一种稳定的排序。(2)时间复杂度对长度为n的文件,需进行趟二路归并,每趟归并的时间为O...原创 2019-11-18 15:05:01 · 685 阅读 · 0 评论 -
Lua - 对table表多属性的自定义排序
此处实现主要设计排序方法,最终使用table.sort(tbl, sortFunc)方法进行排序,代码如下:-- 待排序的表local tb1 = { [1001] = {lv = 1, break1 = 4, star = 8}, [1002] = {lv = 3, break1 = 5, star = 5}, [1003] = {lv = 2, break1 =...原创 2019-10-21 14:53:27 · 639 阅读 · 0 评论