数据结构
chenXin@Euler
黄金分割点、白银分割点
展开
-
算法(1)栈排序
完整示例代码如下:auto是来自c++11中的代码哦示例代码1#include <iostream>#include <stack>#include <vector>using namespace std;stack<int> sorting(stack<int>);int main(){ int n; ...原创 2020-01-30 16:42:50 · 303 阅读 · 0 评论 -
广度优先算法
deque 即双端队列。是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。# 最短路径问题的算法被称为广度优先搜索# 广度优先搜索是一种用于图的查找算法# 第一类问题:从节点A出发,有前往节点B的路径吗?# 第二类问题:从节点A出发,前往节点B的哪条路径最近。from collections import dequegraph={...原创 2018-08-25 13:40:46 · 424 阅读 · 0 评论 -
hash table在python中的实现
hash table:又称为散列表,有键和值组成,数组中方商品的价格。 散列表总是将同样的输入映射到形同的索引 散列函数将不同的输入映射到不同的索引 散列函数知道数组有多大,只返回有效的索引。# 投票可以使用散列表voted={}def check_voter(name): if voted.get(name): print("kick them out")...原创 2018-08-25 11:30:53 · 2914 阅读 · 2 评论 -
python递归(阶乘和斐波那契数)
斐波那契数列亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列从第三项开始,每一项都等于前两项之和。 通...原创 2018-08-25 10:47:12 · 1893 阅读 · 0 评论 -
最短路径算法
A*算法实际是个穷举算法,也与课本上教的最短路径算法类似。课本上教的是两头往中间走,也是所有路径都走一次,每一个点标注最短值。A* (使用曼哈顿距离) 2. A* (采用欧氏距离) 3. A* (利用切比雪夫距离) 4. Dijkstra 5. Bi-Directional Breadth-First-Search(双向广度优先搜索) 在最短路径搜...转载 2018-08-22 17:09:34 · 288 阅读 · 0 评论 -
排序算法,对内存小数据量大的数据排序(一)
问题描述 百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。外部排序指的是大文件的排序...翻译 2018-08-22 16:59:04 · 10846 阅读 · 1 评论 -
python3 汉明重量 输入一个数找二进制中位数是1的个数 leetcode
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 : 输入: 11 输出: 3 解释: 整数 11 的二进制表示为 00000000000000000000000000001011示例 2:输入: 128 输出: 1 解释: 整数 128 的二进制表示为 0000000000000000000000001000000...原创 2018-08-22 13:41:14 · 787 阅读 · 1 评论 -
python3 leetcode判断一个数是不是2的幂次方
当拿到这道题的时候我想的是进行 code:import mathn=int(input('请输入一个正整数:'))if math.log(n,2)==int: return Trueelse: return False但是在leetcode这样运行时错误的,所以 代码修改如下:class Solution: def isPowerOfTwo(sel...原创 2018-08-22 12:02:54 · 1989 阅读 · 0 评论 -
python3 atoi leetcode
实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一个非空字...转载 2018-08-22 11:20:25 · 378 阅读 · 0 评论 -
python3 reverse_integer leetcode
leetcode:https://leetcode-cn.com/problems/reverse-integer/description/ 这是第7道算法题。,有兴趣的同学可以去这里刷题。class Solution: # @param {int} n the integer to be reversed # @return {int} the reversed integ...原创 2018-08-22 10:23:53 · 170 阅读 · 0 评论 -
python数据结构(容器)
对于数据结构这样的一个词,我相信有过c语言基础的人都应该不陌生, 数据结构:(data structure)是相互之间存在一种或多种特定关系的数据元素的集合。 根据数据元素之间关系的不同特征,通常有下列4类基本结构: 1)集合 结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。 2)线性结构(数组,队列,栈) 结构中的数据元素之间存在一个对一个的关系 3)树形结构(...原创 2018-08-18 19:45:05 · 888 阅读 · 0 评论