
数据结构
沫嫣子
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
合并排序算法
与很多有用的算法类似,合并排序基于这样一个技巧:将 2 个大小为 N/2 的已排序序列合并为一个 N 元素已排序序列仅需要 N 次操作。这个方法叫做合并。我们用个简单的例子来看看这是什么意思: 通过此图你可以看到,在 2 个 4元素序列里你只需要迭代一次,就能构建最终的8元素已排序序列,因为两个4元素序列已经排好序了:1) 在两个序列中,比较当前元素(当前=头一次出现的第一个) 2)...转载 2019-02-02 17:33:31 · 941 阅读 · 0 评论 -
数据结构(剑指offer)(复杂链表的复制)(python)
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)方法一:思路: 1. 把复制的结点链接在原始链表的每一对应结点后面 2. 把复制的结点的random指针指向被复制结点的rand...转载 2019-02-13 21:01:36 · 161 阅读 · 0 评论 -
python动态规划若干问题
转载自点此这个人的系列文章。动态规划和分治算法有点类似,分治一般用于子问题互相独立的情况,动态规划一般用于子问题重叠的情况。首先上个简单的斐波那契数列,如果用递归:def digui(n): if n<1: return -1 elif n==1 or n==2: return 1 else: return digui(n-1)+digui(n-2)计算n=...转载 2019-02-13 16:36:25 · 330 阅读 · 0 评论 -
python 排序算法
https://www.cnblogs.com/kuqs/p/6579741.html(一)插入排序每次循环之前,前面i位总是有序的。1 def insert_sort(list):2 for i in range(len(list)):3 key = list[i]4 for j in range(i-1,-1,-1):5 ...转载 2019-02-12 10:42:56 · 205 阅读 · 0 评论 -
PYTHON刷题
https://www.cnblogs.com/kuqs/p/7471858.html原创 2019-02-12 10:25:42 · 1370 阅读 · 0 评论 -
数据结构(剑指offer)(知识迁移)
题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,...原创 2019-02-11 22:45:52 · 134 阅读 · 0 评论 -
数据结构(剑指offer)(树)(python)
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 # -*- coding:utf-8 -*-# class TreeLinkNode:# def __init__(self, x):# self.val = x# self.left = ...原创 2019-02-11 21:55:16 · 127 阅读 · 0 评论 -
数据结构(剑指offer)(链表)(python)
题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def EntryNodeO...原创 2019-02-11 15:40:32 · 135 阅读 · 0 评论 -
数据结构
题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。# -*- coding:utf-8 -*-class Solution: def Sum_Solution(self, n): # write code here s = list(range(n...原创 2019-02-10 20:47:25 · 134 阅读 · 0 评论 -
数据结构(剑指offer)(字符串)python
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).# -*- coding:utf-8 -*-class Solution: def FirstNotRepeatingChar(self, s): # write code here ...原创 2019-02-10 20:23:40 · 126 阅读 · 0 评论 -
数据结构(剑指offer)(数组)(python)
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。###解释counter 是一种特殊的字典,主要方便用来计数,key 是要计数的 item,value 保存的是个数。?1234from col...原创 2019-02-10 14:44:21 · 177 阅读 · 0 评论 -
数据结构(剑指offer)(堆栈)(python)
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。思路:用空间换时间,用一个辅助栈记录当前栈中的最小值。辅助栈元素个数和数据栈保持一样的数目。例如一次压入数据栈数字序列为:3,2,4,1,5 那么一次压入辅助栈的为:3,2,2,1,1当每次压入数据栈的元素小余辅助站的元素的时候,才把新元素压入辅助栈,否则把辅助站栈顶元...原创 2019-02-07 16:18:54 · 117 阅读 · 0 评论 -
查找(顺序查找、二分查找、插值查找)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/wangyunyun00/article/details/23464359查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找表分类:静态查找表和动态查找表。动态查找表:在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经存在的某个数...转载 2019-02-02 22:35:39 · 784 阅读 · 0 评论 -
插入排序
插入排序——python实现def insertion_sort(InputList): for i in range(1,len(InputList)): for j in range(0,i-1): if InputList[j+1]<InputList[j]: temp = InputList[j]...原创 2019-02-02 19:15:01 · 90 阅读 · 0 评论 -
数据结构(剑指offer)(字符串全排列)(python)
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。# -*- coding:utf-8 -*-import itertoolsclass Solution: ...原创 2019-02-13 22:18:23 · 251 阅读 · 0 评论