—*—!算法与数据结构(python实现,其他语言无)
文章平均质量分 59
Lateautunmxxxxx
人生有幸得一信仰:Kobe Byrant
人生有幸得一偶像:Kim Taeyeon
人生有幸学一语言:Python
展开
-
微信红包的随机算法是怎样实现的?
微信红包的随机算法是怎样实现的?转载 2016-10-06 12:32:09 · 1395 阅读 · 1 评论 -
关于堆排序
堆为一棵完全二叉树,每个节点值都>=子节点值堆排序根据这个特性,首先将所有元素建立堆,然后一个个取出,即有序的堆中每个节点的位置:父节点i的左子节点在位置 (2*i);父节点i的右子节点在位置 (2*i+1);子节点i的父节点在位置 floor(i/2);最大堆主要操作逻辑:插入:将新元素加入完全二叉树最后一个节点,依次往上,调整原创 2016-09-12 13:23:47 · 236 阅读 · 0 评论 -
关于选择排序
A.概念,过程描述?选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)B.交换次数,比较次数,赋值次数?从原创 2016-09-12 13:20:34 · 161 阅读 · 0 评论 -
常用排序算法的性能分析及应用场景
一.排序算法分类1.插入排序法 直接插入排序,希尔排序(面试最常问)2.交换排序 冒泡排序,快速排序(面试最常问)3.选择排序 直接选择排序,堆排序(面试最常问)4.归并排序 归并排序5.基数排序当然排序算法博大精深,肯定不止以上几种,本人只列出了几个最为经典的,也是最常用的排序算法。二.空间、时间复杂度、稳定性原创 2016-09-12 13:06:45 · 1576 阅读 · 0 评论 -
关于冒泡排序整理
A.冒泡排序概念,过程描述?它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。B.最差,平均,最优 时间复杂度?时间复杂度分析。其外层循环执行 N - 1次。内层循环最多的时候执行N次,最少的时候执行1次,平均执行 (N+1)/2次。所以循环体内的比较交换约执行 (N -原创 2016-09-12 11:39:02 · 216 阅读 · 0 评论 -
Python常见数据结构详解
Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。一、序列(列表、元组和字符串)序列中的每个元素都有自己的编号。Python中有6种内建的序列。其中列表和元组是最常见的类型。其他包括字符串、Unicode字符串、buffer对象和xrange对象。下面重点介绍下列表、元组和字符串。1、列表列表是原创 2016-09-12 10:33:10 · 416 阅读 · 0 评论 -
Python面试必备金典,还说你会python?
Skip to contentThis repositoryPull requestsIssuesGistTable of ContentsPython语言特性1 Python的函数参数传递2 Python中的元类(metaclass)3 @staticmethod和@c原创 2016-12-22 15:08:05 · 794 阅读 · 1 评论