数据结构
xiuxiuxiulai
听说这个发型更容易拿到offer
展开
-
递归排序及例题分析
递归算法:简而言之就是一种函数调用函数自身来完成算法设计的方法。如果一个函数f(x),可以通过调用自己来完成算法的设计,这种方法就称为递归算法。Fibonacci(斐波那契数列)便是典型的递归算法例子。Fibonacci 数列的定义如下:Fib(n) ={0,1,1,2,3,5,8,13,......}第n项为其前两项之和,即Fib(n) =Fib(n-1)+Fib(n-2) n&...原创 2019-08-03 10:56:36 · 1093 阅读 · 0 评论 -
直接排序
**直接插入排序:是一种最简单的排序方法,其基本想法是,每次从数列中取一个还没有取出过的数,并按照大小关系插入到已经取出的数中使得已经取出的数仍然有序。比如,打扑克牌时我们希望抓完牌后手上的牌是有序的,三个 8 挨在一起,后面紧接着两个 9。这时,我们会使用插入排序,每次拿到一张牌后把它插入到手上的牌中适当的位置。现在,利用插入排序的思路,我们对一组无序的记录进行递增排序操作。R = ...原创 2019-08-01 17:58:03 · 146 阅读 · 0 评论 -
冒泡排序
冒泡排序冒泡排序是一种简单的排序方法,其核心思想就是交换,所以属于交换排序。数据大的记录下沉,小的记录上移,所以这种算法叫做冒泡排序 算法。通过重复执行若干次冒泡排序算法,终可以得到一个顺序的排序序列。创建一个无序列表:list = [49,38,65,97,76,13,27,49,55,4]排序分析:第一趟排序: ...原创 2019-08-01 20:00:34 · 134 阅读 · 0 评论 -
python 二叉树排序
原理解析:有一组数据“3, 5 , 7, 20, 43, 2, 15, 30”,则二叉树的建立过程如下。将3视为根节点。5>3,把5作为3的右节点7>3,7>5,把7作为5的右节点…2<3作为3的左节点。结果如下图:代码实现:class BTree(): #二叉树节点 def __init__(self,va...原创 2019-08-07 10:47:50 · 694 阅读 · 1 评论