- 博客(23)
- 收藏
- 关注
原创 全网最全Python数据结构集锦:队列、栈(Queue,Stack)篇
目录队列优先队列栈deque实现栈,队列队列和栈是两种比较特殊的数据结构,顾名思义,队列是先进先出的,而栈恰好相反,先进后出。队列import queue# 初始队列q = queue.Queue()# 往队列中添加元素for i in range(10): q.put(i)# 出队列while not q.empty(): print(q.get(),end=',')output:0,1,2,3,4,5,6,7,8,9,# 介绍一下队列的几个常.
2022-01-26 22:02:54
938
原创 全网最全Python数据结构集锦:集合(Set)篇
目录1. 集合的三大特性2. 基本操作2.1 增加操作2.2 删除操作2.3 查找操作2.4 集合遍历3. 集合运算4. 特殊集合本文源代码可以在这里找到:????Set是一种常见的数据结构,在数学上的定义是,没有重复的元素的序列。1. 集合的三大特性无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。集合上可以定义序关系,定义了序关系后,元素之间就可以按照序关系排序。但就集合本身的特性而言,元素之间没有必然的序。(参见序理论)互异性.
2022-01-24 17:58:01
953
原创 全网最全Python数据结构集锦:列表(list)篇
目录列表 list1. 创建list的两种方法2. 增删查改2.1 插入操作2.2 删除操作2.3 查找操作2.4 改值操作3. 排序4. 计数5. 栈操作6. 堆操作列表 list本文源代码可以在这里找到:链接列表是最基本的数据结构,可以当作栈来使用,也可以存入不同类型的数据,例如同一个列表可存入字符,数字,还有列表等等。mylist = [1,2,3]print(f"Mylist {mylist}")mylist = [1,"Hello",["World", "!!!", 999]].
2022-01-22 20:51:00
1367
原创 数据挖掘(Data Mining):数据,图和文本
图中节点特征首先对于图中节点来说,我们以每个点所连接的边的个数定义它的degree(度), p(degree=k) = Nk/N 表示随机选取一个点,degree为k的概率。 n0 n1 n2 n3 n4 n5 n6 n7 n8 degree 4 2 3 1 2 2 1 2 1 随机图(Random Graphs)随机图是图家族中的一个概率分布,通常用G(n,p)表示,n表示...
2021-10-31 16:17:40
384
原创 数据挖掘(Data Mining):异常检测(Anomally Detection)
Anomaly detectionDefinition异常意味着一个观测点不满足一个正常的距离数据集的分布,即不满足分布的大多数实例。异常,特征和原因 (Anomalies: features and causes) An outlier of the data, which is obviously far away from the majority of instances. Be measured by carefulness measurer. Error w
2021-10-04 21:12:59
1148
原创 Data Mining:图聚类(Graph clustering)
Betweenness Centrality (from wikipedia)在图论中,介数中心性(英語:Betweenness Centrality)是基于最短路径针对网络图中心性的衡量标准之一。针对全连接网络图,其中任意两个节点均至少存在一个最短路径,在无权重网络图中该最短路径是路径包含边的数量求和,加权网络图中该最短路径则是路径包含边的权重求和。每个节点的介数中心性即为这些最短路径穿过该节点的次数。Girvan-Newman algorithm (格里-纽曼算法)1. 首先计算网络中..
2021-09-18 05:15:27
4940
1
原创 数据挖掘(Data Mining):序列模式(Sequential Patterns)
序列模式购物篮数据常常包含关于商品何时被顾客购买的时间信息,利用这种信息可以将顾客在一段时间内购买的物品拼成事物序列。这种数据代表的时间之间存在某种序列关系,通常基于时间或空间的先后次序。然而,迄今为止所讨论的关联模式概念都只强调同时出现,而忽略数据中的序列信息。但是序列信息对于识别动态系统的重要特征,或者预测特定事件的未来发生时非常有价值的。问题描述发现序列模式(Mining Sequential Patterns)的问题输入是一个序列数据集,每一行记录与一个特定的对象(Object)所关联的
2021-09-17 02:59:49
5196
原创 Spark学习笔记-Day4 Mac-Yarn模式启动Spark
Yarn 模式启动Spark准备运行环境1. 用下面的命令下载spark和hadoop包至mac电脑或虚拟机.wget https://mirrors.estointernet.in/apache/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgzwget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz2. 将文件解压到opt文件夹tar
2021-04-13 20:36:31
358
原创 Spark学习笔记-Day3 Mac-Spark运行环境(Local)
Spark 运行环境local 模式在Day2中我们下载了spark-hadoop包,在本次我们将继续使用这个压缩包,首先解压到当前位置,更改文件夹名称为sparkLocal,进入该文件夹,输入下面指令可以开启spark-shellbin/spark-shell我们可以在解压后的data文件夹内创建word.txt 文件,cd datavi word.txt# 输入你想放入word.txt的内容 然后按esc,输入:wq, 按下Enter。然后再命令行工具下执行如下代码。scala
2021-04-12 09:42:13
329
原创 Spark学习笔记-Day2,Mac_IDEA环境配置
IDEA环境配置下载最新版IDEA, 我这里是MacOS所以选择的也是这个最新的旗舰版。下载,安装之后在创建Maven项目,JDK预先备好,具体可在oracle官网下载。取一个你喜欢的名字对你的项目命名。由于IDEA自带的下载方式经常失败,所以这次选择在官网下载对应的scala和spark版本。使用下面的命令可以下载3.1.1版本的Spark,同时在官网下载2.12.x版本的scala,否则运行时会报错!!!wget https://mirrors.estointerne
2021-04-10 14:01:19
226
原创 Spark学习笔记_Day1
1.1 Spark是什么?Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。1.2 Spark Vs HadoopSparkHadoop数据共享基于内存基于磁盘语言Scala语言开发Java编写组件Spark Core, Streaming, SQL,Milb,GraphXMapreduce,HDFS,HBase数据处理流处理 (批处理)批处理1.3 如何选择spark 或者HadoopHadoop MapRedu
2021-04-09 22:52:13
263
原创 算法导论学习笔记(D5)-- 第二章课后习题
第二章 2.3 习题2.3.1 如图:2.3.2不使用哨兵,只要有一个数组被检测完那么就停止,那么循环结束的条件需要发生改变应为 ( i < L.length and j <R.length)具体代码如下。private static void Merge3(int[] A, int p,int q,int r){ int n1 = q-p+1; ...
2020-05-08 05:06:26
306
原创 算法导论(d4)
第二章 算法入门2.3 算法设计2.3.2 分治法分析 一个算法的优劣还是需要通过计算时间复杂度来比较,之前插入排序的算法复杂度为O(n^2), 那么下面介绍如何计算分治算法的时间复杂度该如何计算。 还是我们之前提到的三个步骤,分解,解决和合并。 分解:把原问题分解为a个子问题(据情况而定不一定为2),设为Dn 解决:每...
2020-05-02 21:17:57
203
原创 算法导论(d3)
第二章 算法入门2.3 算法设计2.3.1 分治算法有很多算法在结构上是递归的,递归这个定义比较难理解,简单的来说就是不断调用自身函数来解决问题。分治模式的三大步骤:分解(将原问题分解)->解决(递归的解决子问题,若子问题足够小直接求解)->合并(将子问题结果合并成原问题的解)这里我们介绍一下合并排序,分解:n个元素分成各含n/2的子序列解决:用合并排序法对两个子序列...
2020-05-01 06:53:20
264
原创 算法导论(d2)
第二章 算法入门2.1 插入排序 首先介绍一下基本的排序算法,插入排序。 想象一下当我们在斗地主的时候,我们在一张一张抽牌的过程中总是在拿手中的牌与之前已经排好序的牌进行比较,并将新的牌插入到合适的位置。整个过程如果放慢来看,那么就是用新的牌(M)从第一张牌开始比对,直到遇到一张比M大的牌才停下,并放在其前面。当然因为人比机器聪明,不仅会从前往后从后往前也...
2020-04-30 17:22:37
268
原创 算法导论(d1)
第一章 算法在计算中的作用所谓算法是定义良好的计算过程,它取一个或一组值作为输入,并产生一个或一组输出。算法是一系列的计算步骤,用来将输入数据转换成输出结果。 e.g. 输入(input):由n个数构成的序列A{a1,a2,a3,a4,...,an} 输出(output):对序列A进行排序后的序列B{b1,b2,b3,b4,...bn} 由输入到输出的这个过程是一个算法实现的过程,...
2020-04-29 06:55:58
172
原创 北欧名企~Coding Technical Interview
题目大意:在长度为N数组A中找到一个未出现的正整数。条件:1)时间复杂度尽可能低2)N的长度[1,100,000]3)每一个A中的元素的值域为[-1,000,000,1,000,000]分析:1)排序,然后遍历判断(A[i]-A[i-1]&& A[i]>0)>=2, 输出ans = (A[i]+1), O(n) = n*logn + n2)利用字典的想法,...
2020-02-18 20:57:36
107
原创 Power BI 学习笔记(2)数据集上传和预处理
1. Power BI 可以获取多种文件类型的数据集,csv,excel... (当然也可以直接选择打开文件夹或者数据库登等)2. 首先打开Power BI desktop,你可以在主界面看到如下图片,点击Get Data 可以选择你想上传的数据集。2. 这次我们先选择使用excel,点击Connect之后,选择你所要使用的excel文件等进度条转完你就可以看到下面的界面,让你选择需要...
2020-02-17 06:43:49
1277
原创 Power BI 学习笔记(1)下载和安装
1. Power BI 可用的操作系统如下(Mac 用户暂时不支持,不过可下载虚拟机或双系统使用)2. Power BI 下载地址3. 安装指南看着顺眼点就行了。下一章我会讲如何使用Power BI上传数据。...
2020-02-14 16:27:09
1330
原创 最短摘要生成(优化时间复杂度O(N))Java实现
问题简要描述:在一段文字中找到蕴含题目中所给关键词的最短摘要。分析:网上大多使用的双指针(start和end),这里我觉得没有必要,我用的是Map和ArrayList来做的。 用Map记录每一个关键词的下标,同时用Arraylist辅助记录,只要Arraylist的长度小于关键词的长度就一直遍历,相同则计算总长度与之前计算的长度进行比较。step1:只要没有找到所有的关键词则一直往下遍历...
2019-04-13 15:29:20
490
原创 凸多边形三角形最小权值划分(贪心算法巧解)
问题描述:将N边形划剖分成三角形,求所有三角形的边组合而成的最小权值(即周长最小)。首先证明每条边除n边形原本边外其他对角线所形成的三角形都重复了2次。证明过程如下:N边形共有n条边,需要n-3条对角线来进行切割成n-2个三角形,这n-2个三角形的总边数为(n-2)*3,则对角线的边数(n-2)*3-n,为2n-6,为对角线边数的两倍。显然每条对角线被两个三角形占用,所以每条对角线都被...
2019-04-13 13:18:35
2093
1
原创 大二刚刚学了下行列式,觉得难算,写了个行列式程序
线性代数的最开始行列式基础,遇上些比较难算的花上的时间较长,那天刚好女朋友在边上,写了一题好久都没和答案对上,挫败感十足,后面发现答案错了,下定决心写一个行列式程序自动计算。该程序用于学习,进行检验,同学们切记不能放弃笔算。/** * Created by mac on 2018/3/20. */public class LineProblem { public static vo...
2018-03-21 19:19:51
1865
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人