课程大纲每节课资料提前5天发放第1章本节大纲”破解“算法面试"Hack"theAlgorithmInterview算法面试究竟考什么史上最全的算法面试考点大全2013-2018面试难度变化如何在最有效率的准备算法面试如何在不押题的情况下更有信息的去面试2018/6/24上午9:30:00第2章本节大纲二分与LogN算法BinarySearch&LogNAlgorithm二分法三重境界二分位置之满足条件的第一次-BinarySearchonIndex-OOXX二分位置之保留一半-BinarSearchonIndex-Halfhalf二分答案-BinarySearchonResult学习BinarySearch的通用模板,不再死循环讲解SearchinRotatedSortedArray等10道高频二分搜索题2018/7/1上午9:30:00第3章本节大纲为面试而生的双指针算法TwoPointersAlgorithmTwoSum问题及他的各种扩展TwoSum&Follow-ups其他高频的双指针问题2018/7/2上午9:30:00第4章本节大纲宽度优先搜索和拓扑排序BFS&TopologicalSorting二叉树上的宽搜BFSinBinaryTree二叉树的序列化问题BinaryTreeSerialization图上的宽搜BFSinGraph拓扑排序TopologicalSorting棋盘上的宽搜BFSinChessboard2018/7/15上午9:30:00第5章本节大纲基于树的深度优先搜索Tree-basedDFS二叉树的深度优先遍历BinaryTreeDFSTraversal先序/中序/后序Preorder/inorder/postorder二叉树中的分治算法Divide&ConquerDFS模板IntroduceDFSTemplate二叉树高频面试问题递归三要素遍历算法与分治算法对比TraversevsDivideConquer2018/7/16上午9:30:00第6章本节大纲基于组合的深度优先搜索Combination-basedDFS组合类深搜CombinationDFS排列类深搜PermutationDFS图上的深搜GraphDFS非递归的深搜实现方法Non-Recursion2018/7/22上午9:30:00第7章本节大纲基于排列、图的深度优先搜索Permutation/GraphbasedDFSTBD2018/7/23上午9:30:00第8章本节大纲数据结构-栈,队列,哈希表与堆Stack,Queue,Hash&Heap哈希表Hash常用的哈希库的区别HashSetvsHashMapvsHashTable哈希表的实现原理BasicHashKnowledge哈希函数HashFunction冲突的解决方法Collision开散列OpenHashing闭散列ClosedHashing哈希扩容Rehashing哈希表高频面试题HighFrequentlyAskedHashQuestions堆堆的基本原理BasicHeapKnowledge优先队列与堆的联系和区别PriorityQueuevsHeap堆的高频面试题HighFrequentlyAskedHeapQuestions堆的代替品:TreeMap2018/7/29上午9:30:00第9章本节大纲数据结构-区间、数组、矩阵与树状数组Interval,Array,Matrix&BinaryIndexedTree数组Array子数组及相关面试题Subarray&RelatedQuestions其他高频数组问题HighFrequentAskedArrayQuestionsTBD2018/7/30上午9:30:00课程更新日志
2023/10/26 20:27:35 2.24MB 编程 算法 九章算法 动态规划
1
第三次上机—语法分析1目的:熟练掌握自上而下的语法分析方法,并能用C++程序实现。
要求:1.使用的文法如下: E®TE¢ E¢®+TE¢|e T®FT¢ T¢®*FT¢|e F®(E)|id2.对于任意给定的输入串(词法记号流)进行语法分析,递归下降方法和非递归预测分析方法可以任选其一来实现。
3.要有一定的错误处理功能。
即对错误能提示,并且能在一定程度上忽略尽量少的记号来进行接下来的分析。
可以参考书上介绍的同步记号集合来处理。
可能的出错情况:idid*id,id**id,(id+id,+id*+id……4.输入串以#结尾,输出推导过程中使用到的产生式。
例如:输入:id+id*id#输出:E®TE¢T®FT¢F®idE¢®+TE¢T®FT¢……如果输入串有错误,则在输出中要体现是跳过输入串的某些记号了,还是弹栈,弹出某个非终结符或者是终结符了,同时给出相应的出错提示信息。
比如:idid*id对应的出错信息是:“输入串跳过记号id,用户多输入了一个id”;
id**id对应的出错信息是:“弹栈,弹出非终结符F,用户少输入了一个id”(id+id对应的出错信息是:“弹栈,弹出终结符),用户少输入了一个右括号(或者说,括号不匹配)”有余力的同学可进一步考虑如下扩展:1. 将递归下降方法和非递归预测分析方法都实现2. 在语法分析的过程中调用第二次上机的结果,即利用词法分析器来返回一个记号给语法分析器。
3. 编写First和Follow函数,实现其求解过程。
测试文法:A->BCDEB->aBA|εC->F|εD->b|c|εE->e|εF->d|ε
2023/9/19 0:58:21 10KB 递归 LL(1) 自上而下
1
1.使用如下文法: E®E+T|T T®T*F|F F®(E)|id2.对于任意给定的输入串(词法记号流)进行语法分析,要求采用LR分析器来完成。
手工构造LR分析表,利用移进-归约分析算法(P71图3.12)输出(P73表3.8)对应的动作部分。
如:输入:id*+id/(id+id)#输出:移进按F->id归约按T->F归约移进error……3.要有一定的错误处理功能。
即对错误能提示,并且能在一定程度上忽略尽量少的记号来进行接下来的分析。
例如:从状态0开始的记号流为:bm将b移进之后,栈里的情况应该为:0b2此时查表发现action[2,m]=error输出打印:error把A和状态1相继压入栈,用户指针后移到FOLLOW(A)对应的元素继续分析。
4.利用P94页的表3.13的方式将错误进行分类提示,即给出具体的出错信息。
扩展:在已有文法的基础上再加上减法“-”和除法“/”对应的产生式构成最终的文法。
从而使得记号流可以处理带括号的加、减、乘、除四则运算。
2023/8/20 23:55:43 6KB 编译原理
1
编译原理LL1文法的mfc实现,其中包括对LL1文法的First集合的算法,Follow集合的算法select集合的算法还包括消除左递归提取左因子
2023/8/1 23:46:21 10.78MB LL1文法 mfc 左递归 左因子
1
C#2010完整开发编译原理(词法分析+LL(1)分析),词法分析实现输入代码自动标识关键字(该颜色,智能编程环境,不限语言),LL(1)分析实现输入文法,求解FIRST,FOLLOW集,得出预测分析表,匹配字符串。
2023/6/30 4:56:54 112KB 编译原理
1
利用First集,Follow集,预测分析表以及先进后出栈来实现LL(1)文法的分析程序,以及判别某个串是否属于当前文法的范畴,内含c++源代码和实验报告说明
2023/6/1 12:52:36 3.1MB 编译原理 上下文无关文
1
编译原理课程方案。



约莫的FIRST集FOLLOW集求解的法度圭表标准。



收缩文档中ffs.cpp为源法度圭表标准。



使用了bool。



所以做了cpp。



Production文本是供法度圭表标准使用的暴发式。



其余的是进程文件。



能够漠视。



2023/4/21 20:21:25 48KB 编译原理
1
第4次上机—语法阐发2目的:熟练操作自下而上的语法阐发方式,并能用C++法度圭表标准实现。
申请:1.使用如下文法: E®E+T|T T®T*F|F F®(E)|id2.对于纵情给定的输入串(词法暗号流)举行语法阐发,申请付与LR阐发器来实现。
手工结构LR阐宣告,行使移进-归约阐发算法(P69图3.12)输入(P70表3.8)对于应的行为部份。
如:输入:id*+id/(id+id)#输入:移进按F->id归约按T->F归约移进error……3.要有未必的差迟处置成果。
即对于差迟能揭示,并且能在未必水平上漠视尽量即便少的暗号来举行接下来的阐发。
譬如:从外形0末了的暗号流为:bm将b移进之后,栈里的情景应该为:0b2此时查表发现action[2,m]=error输入打印:error把A以及外形1相继压入栈,用户指针后移到FOLLOW(A)对于应的元素络续阐发。
4.行使P92页的表3.13的方式将差迟举行分类揭示,即给出详尽的侵蚀信息。
扩展:在已经有文法的底子上再加之减法“-”以及除了法“/”对于应的暴发式组成最终的文法。
从而使患上暗号流能够处置带括号的加、减、乘、除了四则运算。
2023/4/19 11:58:18 5KB LR
1
随着我直接向您的Mastodon存眷者发送新闻,以告知他们此举。
这个名目再也不弥留,由于新增了将追寻者从一个实例移到另一个实例时的成果。
假如您只是从一个实例挪动到另一个实例,则大概要告知您的存眷者在该实例中存眷您。
由于大概不会齐全人都看到果真变更的果真帖子,于是向您的存眷者发送直接人民新闻会暴发更大的影响。
此处的剧本毗邻到两个实例以比力存眷者列表,并且仅向不存眷您的now帐户的货物发送直接新闻。
装置在当地盘算机上运行mongodb建树一个虚构的pythonenv。
使用pipinstall-rrequirements.txt装置软件包组态在运行剧本以前,请同时变更配置配备枚举以及新闻在follow_me.py文件中要变更的3件事(旧的,新的以及新闻):OLD='mastodon.social'#InsertherethedomainnameofyouroldinstanceNEW='merveilles.town'#InsertherethedomainnameofyournewinstanceAPP
2023/3/29 8:51:42 15KB social mastodon MastodonPython
1
C言语写的语法分析器,对于给出的任意LL1文法,实现了求First集,Follow集,预测分析表的生成,分析栈分析句子的合法性。
原创的
2023/2/14 12:21:15 205KB C 语法分析 源代码
1
共 34 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡