- 博客(922)
- 资源 (4)
- 收藏
- 关注

原创 数据结构(c++语言版) 邓俊辉 第五章:二叉树学习笔记
祖先:任一节点通往树根所经过的每个节点都叫做v的祖先(ancestor),v是他们的后代(descendant)。v本身以外的祖先/后代称为v的真祖先(proper ancestor)/真后代(proper descendant)。节点v的深度:每个节点到root的唯一通路所经过的边的数目,称作v的数目,记作depth(v)。由树的连通性,每一节点与根都有一条路径相连:根据树的无环性,由根通往每个节点的路径必然唯一。度:v的孩子的总数,称作v的度数或者度(degree),记作deg(v)。
2023-08-07 20:18:39
638

原创 c++primer 第16章课后习题简答和部分知识点自己的感悟
16.3如果sales_data没有定义运算符,那么给出如下错误:sales_data.cc: In instantiation of ‘int compare(const T&, const T&) [with T = Sales_data]’:sales_data.cc:143:22: required from heresales_data.cc:90:6: error: no match for ‘operator<’ (operand types are ‘co
2022-04-03 16:07:00
441
原创 c++的入门第一课
如果省略了-o progl参数,在UNIX系统中编译器会生成一个名为a.out的可执行文件,在Windows系统中则会生成一个名为a.exe的可执行文件(注意:根据使用的GNU编译器的版本,你可能需要指定-std=c++0x参数来打开对C++11的支持)。关于C/C++开的正确格式的辩论是无休止的。例如,大多数程序员都对程序的组成部分设置恰当的缩进,就像我们在之前的例子中对main函数中的语句和循环体所做的那样。我们所采用的风格是,注释内的每行都以一个星号开头,从而指出整个范围都是多行注释的一部分。
2024-08-17 17:26:20
246
原创 宽度优先搜索的一个简单例子——马的遍历
而对于终止搜索,根据宽度优先搜索的特性,只要处理好棋盘边界和不走“回头路”的问题,当所有点都被搜索完后,队列里将不会再有点,此时队列为空,自然而然会终止搜索。从该点出发,向8个方向走步,新到的点的步数等于现在的步数加1,再从新到的点出发,向8个方向各走一步,以此类推,走完所有可能情况,即可找到答案。深度优先搜索的特点是,每次走到一个位置以后,总是尽可能向深处走,一直尝试下一层的决策,直到遇到不合法的位置或者无法找到答案,而宽度优先搜索是先尝试在本层枚举,如果本层没有答案,则去下一层枚举下一层的所有可能性。
2024-08-05 19:44:25
182
转载 C语言extern关键字详解
extern关键字是C语言中的一个存储类别修饰符,它用来声明一个变量或函数是在其他文件中定义的,也就是说,它是一个外部的变量或函数。extern关键字的用法有声明全局变量,声明函数,声明常量,声明数组等。extern关键字的注意事项有不能用于定义,不能用于声明局部变量,不能用于声明静态变量,声明和定义要一致,声明可以多次,定义只能一次等。// 错误,不能用extern关键字声明一个静态变量。// 错误,不能用extern关键字声明一个局部变量。// 定义一个变量h,错误,重复定义。// 定义一个变量h。
2024-07-16 11:45:33
294
转载 Python的编码注释# -*- coding:utf-8 -*-
-*- coding:utf-8 -*-的主要作用是指定文件编码为utf-8, 因为一般默认的是ASCII码,如果要在文件里面写中文,运行时会出现乱码,加上这句之后会把文件编码强制转换为utf-8运行时会就不会出现乱码了。其中的意思就是必须包含#,且#号之前不能有字符换行等其他字符,字符串中必须包含coding后面可以跟:或者=接下来就是编码名称。声明的语法参考python的PEP http://www.python.org/dev/peps/pep-0263/但是为什么通常这种方式呢?
2024-07-06 17:23:04
639
转载 C语言详细分析讲解关键字const与volatile的用法
在C语言中,我们经常会见到const和volatile这两个关键字,那么我们今天就来介绍下这两个关键字,提起 const 关键字,我们可能首先想到的是经过它修饰的变量便是常量了。其实我们这种想法是错误的,其实 const 修饰的变量是只读的,其本质还是变量。
2024-06-24 16:04:17
121
转载 Python中字符串转义字符的用法----退格符\b
退格符\b,b代表backspace,平时电脑使用这个键就是删除,可以把一个退格符看成一个backspace键,他的原理相当于把一个字符删去,用后面的字符代替。(3)特别注意在最后的退格符,退格符的原理是将后面的内容依次根据有几个退格符移上去,而在最后的退格符,因为退格符\b后面没用内容,所以退格符不起作用。以上就是退格符的解释,总的来说,就是把退格符当成电脑上的backspace键,不过退格符\b在最后出现的情况一定要注意。有五个退格符,相当于退了5格,就删去了"优秀,良好"(1)一个\b退格符。
2024-05-12 17:19:12
618
转载 python3输出“\a“为何不响铃(意思是为何不发出声响)
一起自学python, 总结自学菜鸟教程网站中遇到的问题:Python 3 字符串-打印\v并不是纵向制表符,目前原因尚不知晓,怀疑是windows系统不支持。篇幅就是那么少,不给发,哪有人一天就能遇到那么多问题,这就是我学习过程中遇到的问题,自己解决以后为了方便记住,就赶紧写下来,方便以后复习。一起自学python, 总结自学菜鸟教程网站中遇到的问题:Python 3 字符串-打印\a没有响声。原来在pycharm里面执行这个代码是没有声音的,要想听到响声,要在cmd里面执行才可以。
2024-05-12 17:12:58
335
转载 AttributeError: type object ‘Image‘ has no attribute ‘open‘
按着思路做,最后原来是真的因为引用库的顺序错了才出现这个异常。对于菜鸟的我来说发现这个问题真难,不过最后还是解决了。查看原因可知道异常是在Tkinter中的回调发生的,所以可能是引用库的顺序出错了。
2024-04-13 18:49:20
385
原创 邓俊辉 c++数据结构第二章 向量
线性结构根据逻辑次序和物理次序的关系,分为向量和列表。向量的逻辑次序和物理位置是对应的;列表的逻辑次序和物理位置无关,逻辑上相邻的向量物理位置不一定相邻。数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。数据结构分为:线性结构、线性结构和非线性结构。2.1 从数组到向量。
2024-02-24 16:02:15
494
原创 python的turtle可以定义多个海龟对象
python的turtle可以定义多个海龟对象,但是只能有一块画布。可以用turtle.Screen()或者直接用turtle.setup()定义。
2024-02-12 17:36:13
775
转载 Python 绘图—使用Turtle库绘制动态钟表
Python函数库众多,而且在不断更新,所以学习这些函数库最有效的方法,就是阅读Python官方文档。同时借助Google和百度。本文介绍的turtle库对应的官方文档地址为:https://docs.python.org/3.5/library/turtle.html。1个turtle:输出表盘上文字。3个turtle:模拟表针行为。1个turtle:绘制外表盘。使用5个turtle对象。
2024-02-12 16:37:10
723
原创 pythontimer模块使用教程_Python time模块详解(常用函数实例讲解,非常好)
9)time.strftime(format[, t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。8)time.ctime([secs]):把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。4.元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。
2024-02-12 16:33:19
752
转载 基于Python制作三款起床闹钟的示例代码(ontimer的使用)
每天上班最痛苦的事情就是早起早起早起!这是大部分上班族的痛苦,但是不上班又是不可能的啦,因为都是为了搞钱。本文用Python制作了三款有趣的闹钟,感兴趣的可以学习一下。
2024-02-12 16:28:41
767
转载 Python中ontimer方法的用法介绍
ontimer方法是Python turtle库中一个非常实用的方法,可以用于动画制作和游戏开发等多个方面。通过本文的介绍,相信读者们已经能够熟练使用该方法了。当然,除于本文所介绍的用法外,该方法还有更多的应用场景等待着读者们去挖掘。希望读者们可以在实际工作中灵活应用该方法,实现更多的绘图效果。这么重要的函数,网上的介绍寥寥无几。
2024-02-12 12:24:44
991
转载 python turtle画笔大小命令
turtle.pensize() | turtle.width() :设置画笔宽度。turtle.speed() :速度,[0:10],越大越快。使用 turtle.setup() | turtle.screensize()默认画笔在画布中心、宽度为1、方向为水平右、颜色黑色并且下触。可以设置画布大小、背景颜色以及标题等。1.画布(canvas)
2024-02-09 20:16:59
2248
转载 UNICODE和 UCS
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000 至 0xFFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。都是将数字转换到程序数据的编码方案。(Universal Character Set, UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的标准字符集。UCS-2用两个字节编码,UCS-4用4个字节编码。
2024-02-05 16:18:32
125
原创 linux中如何输入控制字符
一定要注意^并不是数字键6上的^而是通过Ctrl+V实现的,虽然先在数字键6的^在输入A看起来效果和先Ctrl+V和Ctrl+A。一样但是执行起来却不一样。^A: 那就是在输入^M时,必须依次在键盘上敲入Ctrl+V和Ctrl+A。^M: 那就是在输入^M时,必须依次在键盘上敲入Ctrl+V和Ctrl+M。看以下实例:以下文本中的字段用^A分隔,
2024-02-03 09:42:19
594
转载 基础正则表达式
grep -P、ack都支持Perl正则,且很多需要使用到正则的服务软件一般都采用PCRE(如httpd、nginx、haproxy、proxysql),它和Perl正则几乎完全一致,作为运维人员,我觉得是有必要学上一学的。
2024-02-01 10:20:05
66
原创 diff命令详解
中间的”c”表示变动的模式是内容改变(change),其他模式还有”增加”(a,代表addition)和”删除”(d,代表deletion);每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。),表示该行有改动;第二行表示两个版本的git哈希值(index区域的6f8a38c对象,与工作目录区域的449b072对象进行比较),最后的六位数字是对象的模式(普通文件,644权限)。前面的小于号,表示要从f1当中去除该行(也就是第4行),后面的”a”表示该行的内容。
2024-01-28 16:50:25
2320
转载 Linux文本处理三剑客之awk学习笔记07:语法
三者均是表达式,首先计算selector,若值为真(我们已经在讲解布尔值时解释过awk的真和假的概念了)则计算表达式if-true-exp,并将其返回值作为整个表达式的返回值,否则计算if-false-exp并将其值作为整个表达式的返回值。第四组比较:awk可以识别echo通过管道传递过来的科学计数表示法的数值1e2,并将其识别为strnum,然后进行strnum和strnum的比较,按照numeric进行比较,结果显而易见。:”不懂的,后续也有解释。awk的switch语句的功能和bash中的是一样的。
2024-01-27 10:11:49
112
转载 【VisualStudio】error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符”
c:\program files (x86)\microsoft sdks\windows\v7.1a\include\objbase.h(239): error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符”VS2019怎样编译出可以在WinXP上运行的exe?_vs2019 xp-CSDN博客。打开项目工程----> 属性 —> c/c++ --> 语音 --> 符合模式 修改成否即可。VS2017应用在XP系统上运行_vs2017 xp-CSDN博客。
2024-01-22 07:48:39
317
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人