编程
一只进阶的程序媛
好好工作,热爱生活
展开
-
排序算法的稳定性与不稳定性
排序算法的稳定性: 稳定的排序算法相等的数排序完成后其顺序保持不变。原始数据a2和a4的位置都是3,对于稳定排序排序后的数列a2一定还在a4前面,但是对于非稳定排序,可能拍完序a4反而在a2前面。 哪些是稳定的哪些是非稳定的? 冒泡和归并是稳定的,快排和选择是非稳定的 既然最后都是有序序列为什么还要分稳定和非稳定排序呢? 比如在考试后,都会按照分数进行排序,分高的自然是第一名...原创 2019-10-16 12:42:10 · 680 阅读 · 0 评论 -
七大排序算法python实现版
首先讲解的网上很多,我直接上python代码其中原理讲解可以参考:原理讲解一、原理讲解2注意下表是平均时间,笔试面试可能会问最好最坏排序算法 平均时间复杂度 冒泡排序 O(n2) 选择排序 O(n2) 插入排序 O(n2) 希尔排序 O(n1.5) 快速排序 O(N*logN) 归并排序 O(N*logN) 堆排序...原创 2019-04-23 21:06:44 · 203 阅读 · 0 评论 -
牛客网剑指Offer_66道python(更新中)
牛客网剑指Offer_编程题导语1 Fibonacci数列及其应用(考察:递归与循环)2 数组3 查找与排序4功能快捷键5合理的创建标题,有助于目录的生成6如何改变文本的样式7插入链接与图片8如何插入一段漂亮的代码片9生成一个适合你的列表10创建一个表格11设定内容居中、居左、居右12SmartyPants13创建一个自定义列表14如何创建一个注脚15注释也是必不可少的16KaTeX数学公式...原创 2019-06-05 14:24:35 · 1092 阅读 · 0 评论 -
Leetcode-k数之和(python)
1. 二数之和解法一:class Solution(object): def twoSum(self, nums, target): #下面解法复杂度O(n)~O(n^2),不是最优,最优hashmap nlen=len(nums) if nlen==0: return [] for x...原创 2019-08-12 11:18:27 · 821 阅读 · 0 评论 -
图的基础遍历:深度优先和广度优先
概述什么是树什么是二叉树深度优先广度优先后记什么是树在计算器科学中,树(英语:tree)是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。树的特点每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节...原创 2019-10-05 22:54:24 · 226 阅读 · 0 评论 -
Python 数据结构与算法——拓扑排序
几乎在所有的项目,甚至日常生活,待完成的不同任务之间通常都会存在着某些依赖关系,这些依赖关系会为它们的执行顺序行程表部分约束。对于这种依赖关系,很容易将其表示成一个有向无环图(Directed Acyclic Graph,DAG,无环是一个重要条件),并将寻找其中依赖顺序的过程称为拓扑排序(topological sorting)。对一个有向无环图(Directed Acyclic Graph...转载 2019-10-08 15:26:58 · 909 阅读 · 0 评论