09 2019 档案

摘要:编译原理实战——使用Lex/Flex进行编写一个有一定词汇量的词法分析器 by steve yu 2019.9.30 参考文档:1.https://blog.csdn.net/mist14/article/details/486413492.https://wenku.baidu.com/view/ 阅读全文
posted @ 2019-09-30 22:26 SteveYu 阅读(1603) 评论(0) 推荐(1)
摘要:萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的: 萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的: 萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假 阅读全文
posted @ 2019-09-30 11:49 SteveYu 阅读(179) 评论(0) 推荐(0)
摘要:机器学习实战(Peter Haarrington) 读书笔记 最近我脑海里总有一个声音,就是,去探索新的领域。在某方面的学习认知加深,会加大自己在知识领域的盲区,迫于工作压力,脑海总会对你说,你应该学习工作所需要的知识。但现实并无法界定什么知识是你工作真正需要的。类似在黑暗中去寻找一把钥匙,人的知识 阅读全文
posted @ 2019-09-29 02:56 SteveYu 阅读(229) 评论(0) 推荐(0)
摘要:线程的使用 1.线程的创建 线程的相关操作放在中。 1.1我们定义一个线程,首先要进行定义一个函数,类似我们创建一个a线程 1.2.创建一个线程 1.3.创建3个线程并且打印(如果你打印1000个,并且睡一秒,会发现,这个进程实际上运行是无序的) 3.如果我们希望线程进行打印顺序为c,b,a,那么我 阅读全文
posted @ 2019-09-27 14:57 SteveYu 阅读(712) 评论(0) 推荐(2)
摘要:月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。 若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。 输入格式: 输入首先给出两个正整数 N(≤)和 M(≤),分别为月饼 阅读全文
posted @ 2019-09-26 18:04 SteveYu 阅读(173) 评论(0) 推荐(0)
摘要:快速排序 测试代码,使用一个通用测试c++代码,代码如下 阅读全文
posted @ 2019-09-26 17:08 SteveYu 阅读(172) 评论(0) 推荐(0)
摘要:Scala快速入门(三)——类与对象 一、类 这边类的模板如下,和Java很像 遇到不确定的成员属性,最好不要赋值null,可赋值一个下划线,需要标明类型。下划线Int型代表0,Double代表0.0,boolean代表false,对象代表null,这样解决所有问题。 改进后: 二、创建对象和方法 阅读全文
posted @ 2019-09-26 12:56 SteveYu 阅读(233) 评论(0) 推荐(0)
摘要:Scala快速入门(二) 一、键盘输入 关于基本类型的运算,以及复制运算,条件运算,运算符等知识,均和Java语言一样,这里不过多叙述。 StdIn是一个伴生对象,所以,可以直接进行使用点进行调用。 举例: ​ 在这个案例中,我们知道了object伴生对象中的方法,相当于静态方法,可以直接调用,在第 阅读全文
posted @ 2019-09-25 18:42 SteveYu 阅读(256) 评论(0) 推荐(0)
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3: 阅读全文
posted @ 2019-09-25 03:14 SteveYu 阅读(219) 评论(0) 推荐(0)
摘要:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 阅读全文
posted @ 2019-09-25 02:52 SteveYu 阅读(148) 评论(0) 推荐(0)
摘要:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 num 阅读全文
posted @ 2019-09-25 02:27 SteveYu 阅读(182) 评论(0) 推荐(0)
摘要:Scala语言快速入门(基本类型) (参考视频:av39126512,韩顺平281集scala精讲) 一、Linux和Windows环境安装 这部分跳过,直接使用IDEA进行搭建,和其他编程语言配置差不多 二、HelloWorld 1.object表示一个伴生对象(相当于一个对象) 2.HelloW 阅读全文
posted @ 2019-09-25 01:56 SteveYu 阅读(891) 评论(0) 推荐(1)
摘要:图论算法总结 一、前言 关于数据结构,主要是有关树和图是最终的难点和痛点,关于算法,记住名字很简单,记住原理要花一点时间,如何内化为自己本身的知识,以及,在脑中有思路,随拿随用,这个需要特定的记忆方式。如果不能即拿即用,并不能说自己了解这个算法。建议大家,以自己的思维为中心,记住该思维的逻辑的同时, 阅读全文
posted @ 2019-09-19 01:44 SteveYu 阅读(377) 评论(0) 推荐(0)
摘要:一、Zookeeper的基本信息 1.1背景 无论在前面,我们学习hdfs,还是学习redis集群,我们都会使用到一个zookeeper进行选举。这导致了Redis的产生。 我们知道,在先前我们使用Zookeeper的时候,我们使用三个节点。一个leader节点和两个follower节点,进行选举。 阅读全文
posted @ 2019-09-18 16:02 SteveYu 阅读(427) 评论(0) 推荐(0)
摘要:一、常见概念 击穿: 概念:redis作为缓存,设置了key的过期时间,key在过期的时候刚好出现并发访问,直接击穿redis,访问数据库 解决方案:使用setnx() 相当于一把锁,设置的时候,发现设置过期,加锁,只有获得锁的人才可以访问DB,这样就能防止击穿。 逻辑: question1:如果第 阅读全文
posted @ 2019-09-14 18:32 SteveYu 阅读(318) 评论(0) 推荐(0)
摘要:Redis单节点容量问题 一、单节点容量问题 我们在实际场景中,往往遇上一个单节点容量问题。 1.进行 业务拆分 ,数据分类 2.到了 数据 不能拆分的时候,可以进行数据分片 进行哈希取模(影响分布式下的扩展性%3,%4,如果多加一台机器,就会收到影响) 进行逻辑随机(可以放进去,但是拿不出来) 解 阅读全文
posted @ 2019-09-14 14:59 SteveYu 阅读(939) 评论(0) 推荐(0)
摘要:Redis集群 介绍 1.单机、单实例的持久化方式 在我们之前的课程中,我搭建了一个单机,单进程,缓存redis。我们使用rdb,aof持久化,用来确保数据的安全。 2.单节点、单实例面临的问题: 单点故障 容量有限 压力 面对这么多问题,我们解决的方式是,将单节点变为多节点进行架构: 1.进行读写 阅读全文
posted @ 2019-09-14 00:00 SteveYu 阅读(272) 评论(0) 推荐(0)
摘要:Redis高级运用 一、管道连接redis(一次发送多个命令,节省往返时间) 1.安装nc 2.通过nc连接redis 3.通过echo向nc发送指令 二、发布订阅(pub/Sub) 三、事务(transactions) 四、布隆过滤器(redisbloom) 在redis.io/modules选择 阅读全文
posted @ 2019-09-12 23:09 SteveYu 阅读(660) 评论(0) 推荐(1)
摘要:Redis架构 1.1.问题 redis是单线程,单实例,为什么并发那么多,依旧很快呢? 回答:因为调用了系统内核的epoll 1.2.Linux的早期版本 Linux有Linux kernal,我们的客户端,进行连接,首先到达的是Linux kernal,在Linux的早期版本,只有read和wr 阅读全文
posted @ 2019-09-12 23:08 SteveYu 阅读(193) 评论(0) 推荐(0)
摘要:Redis语法 1.string select db 选择数据库(0 20) set k v 设置一个数据 set k1 v nx nx仅仅可以新建的时候进行插入数据 set k2 v xx xx仅仅可以更新的时候进行更新数据 mset k1 v1 k2 v2 可以进行设置多个值 get k 返回一 阅读全文
posted @ 2019-09-12 23:08 SteveYu 阅读(843) 评论(0) 推荐(0)
摘要:Redis单节点安装 一、Redis的数据类型 string hash list set zset 二、安装 2.1.下载 2.2.解压 2.3.安装 2.4.修改环境变量 2.5.安装服务 阅读全文
posted @ 2019-09-12 23:07 SteveYu 阅读(205) 评论(0) 推荐(0)
摘要:Redis 产生背景 1.1.数据存储的发展史 1.1.1.磁盘时代 很久之前,我们的数据存储方式是磁盘存储,每个磁盘都有一个磁道。每个磁道有很多扇区,一个扇区接近512Byte。 磁盘 的寻址速度是毫秒级的,带宽是GB/M的。 内存 是ns级的,带宽也比磁盘大上好几个数量级。总体来说,磁盘比内存在 阅读全文
posted @ 2019-09-12 23:05 SteveYu 阅读(1126) 评论(0) 推荐(1)
摘要:学校练习,简单的我就不放上来了,值得整理的,我保存一下 习题4 1.1.验证元素唯一性(二重循环) 1.1.1.算法描述 验证元素唯一性,主要方法是:建立两重循环,进行校验每个元素和其他元素的 1.1.2.伪代码 UniqueElements(A[0..m-1]) //验证给定数组中的元素是否唯一 阅读全文
posted @ 2019-09-12 23:03 SteveYu 阅读(1738) 评论(0) 推荐(0)
摘要:学校练习,简单的我就不放上来了,值得整理的,我保存一下 习题9 1.1. 伪随机数(线性同余法) 1.1.1.算法描述 我们使用线性同余法,来限定一些离散点在y=a*x+b上。 1.1.2.伪代码 random(n,m,seed,a,b) //根据现行同余法生成n个伪随机书的一个序列 //输入:一个 阅读全文
posted @ 2019-09-12 23:02 SteveYu 阅读(1594) 评论(0) 推荐(0)
摘要:这边防止自己忘记,附上原作者链接,前两天刷到的,看了柳神的笔记,觉得有道理,这两天突然找不到了~ https://blog.csdn.net/liuchuo/article/details/51994215 阅读全文
posted @ 2019-09-11 23:31 SteveYu 阅读(910) 评论(0) 推荐(0)
摘要:算法复杂性经常描述为递归方程,解递归方程得到算法复杂性的具体表示 用特征方程解递归方程 用生成函数解递归方程 用递推方法解递归方程 用递推方法解递归方程,也就是我们常用的数学归纳法,用生成函数解递归方程,也就是我们使用循环代替递归。 这节,我们利用高等数学的常微分方程,来进行求解递归式。 K阶常系数 阅读全文
posted @ 2019-09-05 22:37 SteveYu 阅读(1095) 评论(0) 推荐(0)
摘要:习题1 1.1. 用于计算gcd(m,n)的欧几里得算法 1.1.1. 算法描述 辗转相除法,又名欧几里得算法(Euclidean algorithm),是求最大公约数(greater common divisor)的一种,通常做法是:用较小的数去除较大的数,用第二余数再去除第一余数,最终我们可以得 阅读全文
posted @ 2019-09-03 04:32 SteveYu 阅读(1371) 评论(0) 推荐(0)
摘要:给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。 现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。 输入格式: 输入第一行给出两个正整数 N 和 p,其中 N(≤)是输入的正整数的个数,p(≤)是给定的参数 阅读全文
posted @ 2019-09-02 04:11 SteveYu 阅读(221) 评论(0) 推荐(0)
摘要:#include <stdio.h> /** * 希尔排序(优化) * 平均时间复杂度:O(n^1.3) * 平均空间复杂度:O(1) * 稳定性:不稳定 * 思想理念:分组,进行每个gap都进行除以2, * 这样大组分小,有利于数据的移动变小 **/ void shell_sort(int a[],int len){ for(int gap=len>>2;gap>0;gap/=2){ for(i 阅读全文
posted @ 2019-09-02 03:17 SteveYu 阅读(424) 评论(0) 推荐(0)