向我展示数据结构使用高级数据结构(链接列表,队列,树,递归函数...)解决六个编程任务这些编程挑战是UDACITY第二个项目的。
问题涵盖了与本课程中学习的数据结构相关的各种主题。
目的是考虑到代码的效率和设计选择,以Python编写干净有效的解决方案。
该代码应有充分的解释,优雅且易于阅读。
内容问题1:最近最少使用的缓存设计选择:我对存储的项目使用字典,因为它为获取/设置/删除操作提供了复杂度O(1)。
更准确地说,我使用orderedDict()结构来跟踪使用顺序。
orderedDict()可用作队列来管理最不常用的密钥。
dict()随着每个操作而更新,因此表现为队列结构。
时间复杂度:所有操作都有固定的时间。
空间复杂度:通过查看字典的长度来管理最大容量。
空间复杂度为O(capacity),它等效于O(1),因为它与执行的操作数无关。
问题2:查找文件设计
2024/11/2 15:22:25 40KB python linked-list stack blockchain
1
如何计划和建设项目本文介绍了我几年来一直在计划如何构建任何项目的过程,无论该项目是小型个人项目还是具有一组开发人员的大型项目。
这也类似于我们在团队中使用的过程。
首先,在开始构建新项目之前,我们创建了三个非常简短的工件。
单页页面,工作流程图和任务列表。
根据项目的规模,这通常需要一天或更少的人才能完成。
这些工件按此顺序创建。
首先,以人为单位对项目进行一页的描述。
任何人都应该能够阅读此页面,并且知道该项目将要做什么。
接下来,创建工作流图,它实际上是序列,类和工作流图的组合。
一旦完成了工作流图,就会从工作流图创建任务列表,并将任务分解为单日工作单元。
任务列表告诉我们从哪里开始,以及每天要做的其他事情,直到项目完成。
下面以一个小项目为例描述这三个工件。
如何编写一页单页纸通常是一页或更少的页面,以人工方式描述该项目,因此阅读该页面的任何人都将知道该项目将做什么。
我通
5.75MB HTML
1
功能简介:1.显示ID,按照玩家第一次上线的先后顺序排名ID,第一名为10001依次类推如下图:2.灭门、固定武器灭门掉血设置。
除可开放灭门功能外,还可设置某种武器攻击门石掉血值。
例如可以设置灭门期间攻击门石掉10点血,设置使用砸门槌攻击门石掉20点血。
或可以直接设置不使用砸门槌攻击门石不掉血。
3.多级呐喊,实现多级呐喊。
4.呐喊随机几率赠送道具。
可设置玩家喊话有几率获得某些道具。
5.单件装备特效。
可设置玩家穿戴某件装备拥有暴击、吸血、金刚罩等特效。
(特效名称可以自定义设置)6.套装特效,可设置玩家穿戴齐全某套装备拥有暴击、吸血、金刚罩等特效。
(特效名称可以自定义设置)7.特效道具,可设置玩家物品栏内拥有某个道具拥有暴击、吸血、金刚罩等特效。
(特效名称可以自定义设置)8.千里传音、江湖流言功能9.门武增强,可设置门武属性增强,提高门武属性。
10.装备爆出公告,可设置装备掉落全服公告。
(且可设置,有几率掉落带段数装备。
)如下图:11.可设置修炼满武功永久增加人物属性,例如可设置修炼满无名拳法永久增加人物100点攻击的属性等等12.配偶系统,可写结婚脚本,玩家结婚后可显示玩家的配偶名称如下图:13.称号系统,可写脚本让玩家获得称号,玩家获得称号后可以显示玩家当前称号,并且可以设定称号增加玩家属性如下图:14.门派属性系统,可写脚本让门派获得门派属性加成,门派获得属性加成后,所有门派内的成员均可获得属性加成。
更多功能自己体验.装备无限升段,可以制作领取等脚本,目前主流TGS插件!!插件成功注入后,TGS变为下图样式
2024/10/29 1:10:29 3.3MB tgs2011
1
对于文法EE+T|E–T|TTT*F|T/F|FF(E)|i使用自下而上分析法的一种来进行构造算法目前学过的自下而上分析法有1、算符优先分析法(需要先来判断文法是否为算符优先文法)2、LR(0)分析法3、SLR(1)分析法该程序的功能为,给定输入,程序按照先后顺序将使用的产生式输出。
如,输入25.6*14.5+2(首先经过词法分析,将其转化为i*i+i),将在规约过程中使用到的产生式依次输出出来。
2024/10/28 9:46:23 20KB 编译原理 SLR(1)
1
包含复数四则运算计算器(顺序表、链表),迷宫问题(栈和队列),图遍历生成树演示(树和图的应用),3阶B-树问题(查找和排序)。
四次实验报告以及源码
2024/10/24 13:35:13 615KB 数据结构
1
在线顺序极限学习机,可以实现对大量数据的实时在线预测及其分类效果
2024/10/18 12:42:36 1.54MB 极限学习机
1
我国各省间的地理距离,可用于确定地理距离的省际空间权重矩阵,Excel形式,可以直接在spss、stata、eviews中使用。
使用时注意:数据需按照各省顺序排列,使用时切记把非数字的行和列(也就是省的名称的行和列)删除再使用
2024/10/18 4:07:42 19KB 空间权重矩阵
1
*问题描述:一个网格迷宫由n行m列的单元格组成,每个单元格要么是空地(用1表示),*要么是障碍物(用0表示)。
找出从起点到终点的最短移动序列,其中U,D,L,R,*分别代表往上,下,左,右移动到相邻单元格。
任何时候都不能在障碍格中,*也不能走到迷宫之外,起点和终点保证是空地。
n,m<=100.**分析:可以使用bfs,节点的访问顺序恰好是它们从根节点距离从小到大的顺序。
类*似的,也可以用bfs来按照起点的距离顺序遍历迷宫图。
不断沿着父亲指针走,*保存方向序列dir,最后反向输出。
*比深度优化的效率要高很多,因为每次都定义了活结点还有下一个扩展节点,*在活结点当中去寻找扩展节点,不会盲目的搜索到底,而是有一定的选择性。
*因此我们可以定义记录扩展节点的数组,并且定义函数来判断,看下一层将要*被搜索的节点是不是能够作为扩展节点。
这就运用到了分支限界的知识。
*
2024/10/17 14:52:18 6KB 分析与详解代码部分。
1
《C和指针》提供与C语言编程相关的全面资源和深入讨论。
《C和指针》通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。
书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
第1章 快速上手1.1 简介1.1.1 空白和注释1.1.2 预处理指令1.1.3 main函数1.1.4 read_column_numbers函数1.1.5 rearrange函数1.2 补充说明1.3 编译1.4 总结第2章 基本概念2.1 环境2.1.1 翻译2.1.2 执行2.2 词法规则2.2.1 字符2.2.2 注释2.2.3 自由形式的源代码2.2.4 标识符2.2.5 程序的形式2.3 程序风格2.4 总结第3章 数据3.1 基本数据类型3.1.1 整型家族3.1.2 浮点类型3.1.3 指针3.2 基本声明3.2.1 初始化3.2.2 声明简单数组3.2.3 声明指针3.2.4 隐式声明3.3 typedef3.4 常量3.5 作用域3.5.1 代码块作用域3.5.2 文件作用域3.5.3 原型作用域3.5.4 函数作用域3.6 链接属性3.7 存储类型3.8 static关键字3.9 作用域、存储类型示例3.10 总结第4章 语句4.1 空语句4.2 表达式语句4.3 代码块4.4 if语句4.5 while语句4.5.1 break和continue语句4.5.2 while语句的执行过程4.6 for语句4.7 do语句4.8 switch语句4.8.1 switch中的break语句4.8.2 default子句4.8.3 switch语句的执行过程4.9 goto语句4.10 总结第5章 操作符和表达式5.1 操作符5.1.1 算术操作符5.1.2 移位操作符5.1.3 位操作符5.1.4 赋值5.1.5 单目操作符5.1.6 关系操作符5.1.7 逻辑操作符5.1.8 条件操作符5.1.9 逗号操作符5.1.10 下标引用、函数调用和结构成员5.2 布尔值5.3 左值和右值5.4 表达式求值5.4.1 隐式类型转换5.4.2 算术转换5.4.3 操作符的属性5.4.4 优先级和求值的顺序5.5 总结第6章 指针6.1 内存和地址6.2 值和类型6.3 指针变量的内容6.4 间接访问操作符6.5 未初始化和非法的指针6.6 NULL指针6.7 指针、间接访问和左值6.8 指针、间接访问和变量6.9 指针常量6.10 指针的指针6.11 指针表达式6.12 实例6.13 指针运算6.13.1 算术运算6.13.2 关系运算6.14 总结第7章 函数7.1 函数定义7.2 函数声明7.2.1 原型7.2.2 函数的缺省认定7.3 函数的参数7.4 ADT和黑盒7.5 递归7.5.1 追踪递归函数7.5.2 递归与迭代7.6 可变参数列表7.6.1 stdarg宏7.6.2 可变参数的限制7.7 总结第8章 数组8.1 一维数组8.1.1 数组名8.1.2 下标引用8.1.3 指针与下标8.1.4 指针的效率8.1.5 数组和指针8.1.6 作为函数参数的数组名8.1.7 声明数组参数8.1.8 初始化8.1.9 不完整的初始化8.1.10 自动计算数组长度8.1.11 字符数组的初始化8.2 多维数组8.2.1 存储顺序8.2.2 数组名8.2.3 下标8.2.4 指向数组的指针8.2.5 作为函数参数的多维数组8.2.6 初始化8.2.7 数组长度自动计算8.3 指针数组8.4 总结第9章 字符串、字符和字节9.1 字符串基础9.2 字符串长度9.3 不受限制的字符串函数9.3.1 复制字符串9.3.2 连接字符串9.3.3 函数的返回值9.3.4 字符串比较9.4 长度受限的字符串函数9.5 字符串查找基础9.5.1 查找一个字符9.5.2 查找任何几个字符9.5.3 查找一个子串9.6 高级字符串查找9.6.1 查找一个字符串前缀9.6.2 查找标记9.7 错误信息9.8 字符操作9.8.1 字符分类9.8.2 字符转换9.9 内存操作9.10 总结第10章 结构和联合10.1 结构基础知识10.1.1 结构声明10.1.2 结构成
2024/10/13 3:32:42 29.13MB c和指针 pdf 下载 编程
1
GDI+SDK参考(翻译版本)序言 4目标 4适用范围 4适用读者 4运行环境 4文档组织 4相关主题 4GDI+的安全考虑 6检验构造函数调用成功与否 6分配缓冲区 6错误校验 8线程同步 9相关主题 10关于GDI+ 11GDI+介绍 11GDI+概览 11GDI+的三个组成部分 11基于类的接口架构 12GDI+提供了哪些新东西? 12新特征 12编程模式的改变 15线条、曲线和图形 19矢量图概览 19钢笔、线条和矩形 20椭圆和弧 22多边形 22基数样条 23贝塞尔样条 24路径 25画刷和填充图形 27开放与闭合曲线 29区域 30裁剪 31路径平直化 32线条和曲线的抗锯齿功能 32图象、位图和图元文件 33位图类型 34图元文件 37绘制、定位和复制图片 39裁剪和缩放图象 40坐标系统和转换 42坐标系统类型 42以矩阵来表示转换 44全局和局部转换 48图形容器 51使用GDI+ 56使用入门 56绘制线条 56绘制字符串 58使用钢笔绘制线条和形状 59使用钢笔绘制线条和矩形 59设置钢笔的宽度和对齐方式 60绘制具有线帽的线条 61联接线条 62绘制自定义虚线 62绘制用纹理填充的线条 63使用画笔填充形状 63用纯色填充形状 64用阴影图案填充形状 64用图像纹理填充形状 64在形状中平铺图像 65用渐变色填充形状 68使用图像、位图和图元文件 68加载和显示位图 68加载和显示图元文件 69记录图元文件 69剪裁和缩放图像 71旋转、反射和扭曲图像 72缩放时使用插值模式控制图像质量 73创建缩略图像 75采用高速缓存位图来提高性能 76通过避免自动缩放改善性能 76读取图像元数据 77使用图像编码器和解码器 83列出已安装的编码器 83列出已安装的解码器 84获取解码器的类标识符 86获取编码器的参数列表 88将BMP图像转换为PNG图像 100设定JPEG的压缩等级 101对JPEG图像进行无损变换 102创建和保存多帧图像 105从多帧图像中复制单帧 107Alpha混合线条和填充 109绘制不透明和半透明的线条 109用不透明和半透明的画笔绘制 110使用复合模式控制Alpha混合 111使用颜色矩阵设置图像中的Alpha值 112设置单个象素的alpha值 114使用字体和文本 115构造字体系列和字体 115绘制文本 116格式化文本 117枚举已安装的字体 120创建专用的字体集合 122获取字体规格 126对文本使用消除锯齿效果 130构造并绘制曲线 131绘制基数样条曲线 131绘制贝塞尔样条 133用渐变画刷填充形状 134创建线性渐变 134创建路径渐变 137将Gamma校正应用于渐变 144构造并绘制路径 145使用线条、曲线和形状创建图形 145填充开放式图形 147使用图形容器 147管理Graphics对象的状态 148使用嵌套的Graphics容器 151变换 154使用世界变换 154为什么变换顺序非常重要 155使用区域 156对区域使用点击检测 156对区域使用剪辑 157对图像重新着色 158使用颜色矩阵对单色进行变换 158转换图像颜色 160缩放颜色 161旋转颜色 164剪取颜色 166使用颜色重映射表 168打印 169将GDI+输出至打印机 169显示一个打印对话框 172通过提供打印机句柄优化打印 173附录:GDI+参考 176
2024/10/10 11:31:03 1.75MB GDI+ GDI+中文 GDI+帮助
1
共 684 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡