![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Gavin_ggl
这个作者很懒,什么都没留下…
展开
-
(算法理论)七大排序方法(python)
快速排序原创 2019-07-01 19:11:49 · 366 阅读 · 0 评论 -
(数据结构)树(一)二叉树
最近开始准备找实习,把一些基础的东西捡捡,进行一下汇总。数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等等。本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂。树是由根结点和若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层...原创 2019-06-30 16:47:16 · 169 阅读 · 0 评论 -
(算法理论)回溯法与与分支限界法(python)
为了说明这两个概念的区别,我们首先假定有一个集合SSS子树集当我们求解的结果是集合SSS的某一子集的时候,其对应的解空间是子集树。时间复杂度O(2n2^{n}2n)排列树当我们求解的结果是集合S的元素的某一种排列的时候,其对应的解空间就是排列树。时间复杂度O(n!n!n!)解空间为排列树的典型问题就是旅行售货员问题。简要说明啥是旅行售货员问题,用图论的术语来说就是:在一个正权的完...原创 2019-07-05 16:29:17 · 8134 阅读 · 0 评论 -
(数据结构)树(二)平衡二叉树
我们知道,对于一般的二叉搜索树(Binary Search Tree),其期望高度(即为一棵平衡树时)为log2nlog_{2}nlog2n,其各操作的时间复杂度O(log2nlog_{2}nlog2n)同时也由此而决定。但是,在某些极端的情况下(如在插入的序列是有序的时),二叉搜索树将退化成近似链或链,此时,其操作的时间复杂度将退化成线性的,即O(n)。我们可以通过随机化建立二叉搜索树来尽量...原创 2019-06-30 20:09:15 · 513 阅读 · 0 评论 -
(算法理论)二分查找(python)
思想:二分查找又称折半查找。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。优缺点优点是比较次数少,查找速度快,平均性能好;...原创 2019-07-17 16:37:00 · 115 阅读 · 0 评论