
数据结构
Amy_mm
https://github.com/xuman-Amy
积跬步,至千里
展开
-
利用前序遍历和中序遍历重建二叉树
本段代码从列表建立二叉树——生成前序遍历和中序遍历——重建二叉树。重建二叉树时要注意一个条件,也就是前序遍历list长度大于0的条件。重建二叉树的github地址class TreeNode: def __init__(self, x = -1, left = None, right = None): self.val = x self.left = ...原创 2019-02-28 10:52:01 · 316 阅读 · 0 评论 -
剑指offer 面试题7:两个队列实现栈以及两个栈实现队列
两个队列实现栈github地址【入栈】保证一个队列为空,空的那个队列入队。如果队列A只有一个元素,而且队列B中有大于一个元素,那么将B中的元素全部出队并入队A;如果队列B 中只有一个元素,而且队列A中有1个或更多个元素,则把A中的元素全部出队并入队B,保证A为空。【出栈】出栈的时候,先判断队列A,在判断队列B.class StackWith2Queen(): def __i...原创 2019-02-28 12:15:10 · 196 阅读 · 0 评论 -
二叉树遍历的递归和非递归实现
参考博客【前序遍历】leetcode #144【原理】根左右【方法1】 递归实现,按照根左右的顺序递归调用前序遍历函数# 树节点的定义#class TreeNode:# def __init__(self, x):# self.val = x# self.left = left# self.right = rightclass ...原创 2019-02-24 22:08:18 · 302 阅读 · 0 评论 -
利用快排和堆排序寻找无序数组中的第K大数
最近遇到的几个小问题,记录一下~~~1、【快排和堆排序实现寻找第K大数】快排和堆排序实现寻找第K大数github地址2、【两个二维数组相乘】3、【wmd讲解】4、【三个激活函数的优缺点】5、【LSTM解决的问题以及解决方法】6、【fasttext原理】7、【字典树的原理】8、【过拟合 欠拟合了怎么办】9、【正则项的作用】1、求第K大数leetcode # 215【解法1 ...原创 2019-03-01 18:26:46 · 1506 阅读 · 0 评论 -
二分查找 找到 旋转数组的最小数字.
利用二分查找 找到 旋转数组的最小数字.分为两个情况,简单的情况是#153,数组中没有重复数字,直接判断中间mid值与左右的大小关系。复杂的情况是含有重复数字,利用顺序查找。leetcode #153class Solution(object): def findMin(self, nums): """ :type nums: List[int] ...原创 2019-03-01 20:22:23 · 279 阅读 · 0 评论 -
位操作
小方法n与n-1相与,相当于把n的最右侧的1变为01统计二进制中1的个数class Solution(object):# 正数时 def hammingWeight(self, n): """ :type n: int :rtype: int """ count = 0原创 2019-03-01 22:07:14 · 345 阅读 · 0 评论 -
面试题5:两个栈实现一个队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。push: 直接放到stack1中pop:如果stack2中有值,就pop出来;如果没有值,就把stack1中的值全部pop到stack2中,然后stack2pop一个值# -*- coding:utf-8 -*-class Solution: def __init__(self): ...原创 2019-04-06 17:42:29 · 252 阅读 · 0 评论 -
python实现八大排序算法
明早去面试,今天复习了一下八大排序,把总结以及代码实现记录一下~~~希望明天面试顺利!!**结合本科的数据结构课件。**可以参考链接[https://www.cnblogs.com/wuxinyan/p/8615127.html]插入排序1. 【直接插入排序】原理依次遍历数组中的每个元素,当插入到第 i 个位置时,前边的所有元素V[0] V[1]··· V[i-1]都已经排序完毕。...原创 2018-12-28 16:47:47 · 449 阅读 · 0 评论