自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 数据结构:线性结构小结

栈:数据项后进先出,LIFO,基本操作:push,pop,isEmpty队列:数据项先进先出,FIFO,基本操作:enqueue,dequeue, isEmpty;双端队列:Deque可同时具备栈和队列的功能,主要操作:addFront,addRear,removeFront,removeRear, isEmpty;...

2021-06-02 22:03:42 137

原创 数据结构之有序表

在实现有序表时,数据项的相对位置取决于数据项之间的“大小”比较,依然采用链表实现,Node定义相同,ordererList也设置一个head来保存链表头的引用。

2021-06-02 21:52:02 492

原创 遗传算法选择-交叉

遗传算法中的选择算子、交叉算子、变异算子1.选择算子轮盘选择按照每条染色体的适应度占种群所有染色体适应度之和的概率来选择;锦标赛选择每次从种群中选出m条染色体,保留适应度最大的,共选K次,得到K条最大染色体,从K中选择最大的2条作为父代;一般都取2;线性排序选择按照染色体的适应度进行升序排序,适应度最低的染色体序号为1,对应概率为pmin,适应度最高染色体序号为N(假设种群共N条染色体),对应概率为pmax,其余染色体被选择的概率为累积概率为:2.交叉算子实数交叉注:并不是所有被选择

2021-05-31 10:29:04 5260

原创 数据结构之无序表

数据结构之无序表可以使用链表实现;要求保持数据项的前后相对位置,但并不要求数据项依次存放在连续的存储空间;如果在数据项之间建立链接指向,就可以保持数据项的前后相对位置;第一个数据和最后一个数据要标记出来;链表实现的最基本元素为节点Node,每个节点至少包含两个信息:数据项本书,指向下一个节点的引用信息,当下一个节点为None时,表示此节点为列表的尾端,之后无数据;采用链接节点的方式构建数据集从而实现无序表;链表的第一个和最后一个节点非常重要,如果想访问链表中所有节点,必须从第一个节点开始沿着链

2021-05-20 09:34:49 706

原创 数据结构之双端队列

双端队列Dequedeque中,数据项可以分别从首、尾加入或者从两端移除;使用list来实现,列表下标0作为deque的尾端,下标-1为deque的首端;class Deque(): def __init__(self): self.items = [] def addFront(self,item): self.items.append(item) def addRear(self,item): self.items.ins

2021-05-19 22:40:48 151

原创 数据结构之队列(2)

数据结构之队列(2)模拟算法:打印任务一个实验室,在任意的一个小时内,有10名学生在场,每人会发起2次打印,每次1-20页。打印机有两种模式可选:草稿模式:每分钟10页;正常模式:每分钟5页,打印质量好。问题:如何设定打印机模式,让大家在不等太久的前提下尽量提高打印质量?问题建模:打印机的属性:模式、是否空闲;任务的属性:提交时间、打印页数;打印队列:FIFO性质的打印任务队列;一小时内,共可能出现20个任务,每秒出现任务的概率为1/180,打印页数为1-20,即出现1-20页的概率均相同。

2021-05-19 22:16:17 109

原创 数据结构之队列

数据结构之队列(Queue)知识点:1.先入先出(FIFO);2.只有一个入口和一个出口,不允许数据项直接插入,也不允许从中间移除数据项;

2021-05-18 22:32:22 83

原创 数据结构之栈

数据结构笔记中缀转后缀算法在后缀表达式中:1.操作数的顺序未发生改变,操作符出现的顺序与运算次序一致;2.操作符比操作数要晚输出,故在扫描到第二个操作数时,要先将操作符保存起来,由于优先级的规则,其可能要反转次序输出;3.“全括号”表达式,操作符应出现在左括号对应的右括号位置,故在遇到左括号时,要进行标记,表示其中的操作符运算优先级提升,一旦扫描到对应的右括号,就可以输出此运算符;总结:从左至右扫描中缀表达式,采用栈暂存未处理的操作符;栈顶的操作符即为最近存进去的,当遇到新的操作符时,两者进行

2021-05-18 17:23:12 67

原创 《Python编程:从入门到实践》外星人入侵项目课后练习13-6

13-6 :屏幕底端有一个可以左右移动的玩家,屏幕顶端有一个球,水平位置随机,使这个球按固定速度下落,如果角色抓到球或者球碰到屏幕底端,就让球消失,并在顶端重新创建一个球,跟踪玩家没接到球的次数,达到三次结束游戏。我这里只是将球换为礼物盒的形式,实现的功能未发生变化。用到的模块如下:卡通人物图片:礼物盒图片:两张图片均放在image文件夹中即可。首先是一些基本设置,屏幕的长宽、背景颜色、礼物盒下落速度、人物左右移动速度等。settings.pyclass Settings():

2020-12-03 22:14:27 301

原创 《Python编程:从入门到实践》外星人入侵项目课后练习13-4

13-4:雨滴下落,一行碰到屏幕边缘时消失,并在屏幕顶端又出现一行新的雨滴,继续下落用到的模块如下:雨滴图片如下:首先是一些基本设置,比如雨滴的下落速度、屏幕的长宽、准备产生几行雨滴等。settings.pyclass Settings(): def __init__(self): self.screen_width = 1900 self.screen_height = 1000 self.bg_color = (230, 230, 2

2020-12-03 21:27:45 299 1

原创 《Python编程:从入门到实践》外星人入侵项目课后练习13-2

13-2:随机显示星星图像下图为用到的模块。星星图片,放在image文件下即可接下来是每个模块的具体内容。首先是一些基本设置settings.pyclass Settings(): def __init__(self): self.screen_width = 1900 self.screen_height = 1000 self.bg_color = (230, 230, 230) # 设置背景色,浅灰色星星的基本属性,包括如何

2020-12-03 21:14:23 308

原创 《Python编程:从入门到实践》外星人入侵项目课后练习12-5

最近在看 《python编程:从入门到实践》,书中的项目实践部分有一些课后练习,为了巩固自己学的东西,我选择了一些自己感兴趣的习题进行编程,目前只看到项目1部分,项目2还没开始,以后继续更新代码,因为自己是新手,欢迎大家对我编码过程中的不足和错误进行指正。12-5:侧面射击这个题目所需创建的py文件如下所示,题中没有要求显示外星人的操作,所以只需要一张飞船的照片(我提前将飞船顺时针旋转90度),放在image文件夹中即可。下面是各个模块对应的代码块:首先是基本游戏的一些基本设置,比如游戏屏幕的长宽

2020-12-03 20:53:24 451

原创 anaconda安装记录

自己安装过程中的一些记录无CPU版本,首先在Anaconda官网下载自己电脑对应的版本,我选择的是Anaconda 3-2020.07-Windows-x86_64.exe, 这里的3代表python的版本,后面的2020.07为anaconda的版本,之后的表示电脑系统为windows64位,然后默认安装就可以了,这里需要记一下安装路径,主要用于pycharm的配置;这一版默认的python版本为python3.8;安装过程中有一步要选择是否加入默认环境变量,我直接勾选了,免去后续再添加的操作。

2020-09-10 11:57:58 423

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除