摘要: 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。 def heapify(arr, n, i): largest = i l 阅读全文
posted @ 2021-08-17 15:33 不带R的墨菲特 阅读(42) 评论(0) 推荐(0)
摘要: 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程 阅读全文
posted @ 2021-08-17 15:20 不带R的墨菲特 阅读(40) 评论(0) 推荐(0)
摘要: ef fib(n): """ 递归:时间复杂度O(2**n),空间复杂度O(N),树的高度""" if n < 3: return 1 else: return fib(n - 1) + fib(n - 2) # fib(6)=fib(5)+fib(4) # 1,1,2,3,5,8 def fib2 阅读全文
posted @ 2021-08-17 14:59 不带R的墨菲特 阅读(53) 评论(0) 推荐(0)
摘要: 概念: 插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 [1]插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序 阅读全文
posted @ 2021-08-17 10:49 不带R的墨菲特 阅读(53) 评论(0) 推荐(0)