
数据结构与算法
算法导论、剑指offer、python
tunghao
广告/机器学习/深度学习/PHM/
展开
-
Hash原理、冲突解决及其在文本降维和topK问题中的应用
Hash概述基本原理哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。数组特点:寻址容易,插入和删除困难;链表特点:寻址困难,插入和删除容易;综合两者的特性的数据结构,就是哈希表。拉链法实现:左边是个数组,...原创 2020-03-25 14:01:11 · 518 阅读 · 0 评论 -
python实现《剑指offer》之全书概要
**依同学推荐,准备开始刷《剑指offer》66题。五一假期最后一天,花了一下午时间,将本书囫囵吞枣的浏览了一遍,旨在了解作者的行文思路和框架,以及主张的核心编程技巧。以下为全书概要。**——题记2019年5月4日 于国家图书馆1.数据结构数组占据连续内存并按顺序存储,需先指定容量,后根据大小分配内存。字符串若干字符组成的序列。链表由指针将若干节点连接成链状结构。动态数据结...原创 2019-05-04 18:42:45 · 217 阅读 · 1 评论 -
python实现《剑指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]...原创 2019-05-05 09:42:13 · 366 阅读 · 0 评论 -
python实现《剑指offer》之栈和队列-用两个栈实现队列
1.题目用两个栈实现队列2.描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。3.解题思路入队列:将元素进栈A出队列:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;如果不为空,栈B直接出栈。python实现class Solution: def __init__(self): self...原创 2019-05-23 16:02:39 · 199 阅读 · 0 评论 -
python实现《剑指offer》之数组-二维数组中的查找
1.题目二维数组中的查找2.描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。3.解题思路元素先依次进入栈A,再从栈A依次弹出到栈B,然后弹出栈B顶部的元素,整个过程就是一个队列的先进先出。python实现...原创 2019-06-03 16:41:24 · 141 阅读 · 0 评论 -
python实现《剑指offer》之数组-数组中重复的数字
1.题目数组中重复的数字2.描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。3.解题思路python实现...原创 2019-06-17 16:56:36 · 217 阅读 · 0 评论 -
python实现《剑指offer》之数组-构建乘积数组
1.题目构建乘积数组2.描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。3.解题思路python实现...原创 2019-06-27 10:09:49 · 169 阅读 · 0 评论 -
python实现《剑指offer》之链表-从尾到头打印链表
1.题目从尾到头打印链表2.描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。3.解题思路python实现原创 2019-08-15 16:43:30 · 127 阅读 · 0 评论