- 循环队列(易错):front=rear即头指针和尾指针相等,但是对应两种情况:一种是队列是空,一种是队列是满。
-
当rear大于front时,循环队列的长度:rear-front
-
当rear小于front时,循环队列的长度:分为两部分计算 0+rear 和 Quesize-front , 将两部分的长度合并到一起即为: rear-front+Quesize
-
单元测试也称模块测试,模块是软件设计的最小单位,单元测试是对模块进行正确性的检验,以期尽早发现各模块内部可能存在的各种错误,通常在编码阶段进行。
-
数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束
-
除法
/
总是返回一个浮点数。 -
除法
//
根据除数和被除数来决定。 -
当min比较的是字典时,把key和value看成了一个整体,所以表现出的作用就是只比较的key的大小,返回值也是字典的键。
-
Python中一切皆对象,每个对象都有其唯一的id,对应的类型和值,其中id指的是对象在内存中的位置。根据对象的值是否可修改分为可变对象和不可变对象。其中,
不可对象包括:数字,字符串,tuple
可变对象包括:list,dict,set
Python中的变量可以指向任意对象,可以将变量都看成是指针,保存了所指向对象的内存地址(对象的内存地址(对象的引用)。
-
sorted()默认是按照升序排列,并且是按照ASCII码表的顺序排列的,
将字典直接传入到sorted函数中 ,sorted函数会默认根据字典的键k对字典进行排序,同时只取字典的键k的内容,并以列表的形式返回
- 直接导址中指令的地址码部分给出的是作数的真正地址,间接导业是相当于直接寻址而言的,指今的地处码给出的不是作数的真正地址,而是操作数有效地址所在的存储单元的地址,也就是操作数地址的地址。
- 关于栈一直理解不好,该篇讲的透彻(29 封私信 / 81 条消息) 设栈的存储空间为S(1:m),初始状态为top=m+1 怎么理解? - 知乎 (zhihu.com)
- 循环队列本身是一种顺序存储结构,而循环列表是一种链式存储结构。 两者之间是平级关系。 线性链表是线性表的链式存储结构,包括单链表,双链表,循环链表等。 队列的顺序存储结构一般采用循环队列的形式。 循环队列的操作是按数组取摸运算的,所以是顺序存储,而循环链表本身就是收尾相连的,所以循环链表不是循环队列,两种不同的存储结构,虽然实现的功能是一样的,实现循环两种方式 顺序存储就是循环队列,链式存储就是循环链表。
- str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split( ); # 以空格为分隔符,包含 \n print str.split(' ', 1 ); # 以空格为分隔符,分隔成两个
- format一定要知道的:format()方法的基本使用 - 知乎 (zhihu.com)
- 经常会看到类似于
[i for i in range(1,10)]
的表达式,这种表达式称为列表解析(List Comprehensions),类似的还有字典解析、集合解析等等。#请完善如下代码 #在______填入语句 a, b, c = [int(x) for x in input().split(',')] ls = [] for i in range(c): ls.append(a+(b*i)) print(ls)
- 关于字符串的replace方法
该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:
String s = “abcat”;
String s1 = s.replace(‘a’,‘1’);
该代码的作用是将字符串s中所有的字符a替换成字符1,生成的新字符串s1的值是“1bc1t”,而字符串s的内容不发生改变。
1.二叉树的 性质
(99条消息) 二叉树的5个性质_咖啡与乌龙的博客-CSDN博客_二叉树的性质
面向对象的程序设计
2.1面向对象方法的基本概念
六个基本概念: 对象 、类和实例、消息、继承、多态性
面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性
向对象设计方法主要特征对象、类和实例、消息、继承与多态性
对象的基本特点:标识唯一性,分类性,多态性,封装性,模块独立性好。
1、对象
对象:是面向对象方法中最基本的概念。
是系统中用来描述客观事物的一个实体,它由一组静态的特征和它可执行的一组操作组成
属性即对象所包含的信息
对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。
对象的基本特点 :
特点 | 描述 |
标识唯一性 | 一个对象通常 由对象名、属性和操作三部分组成 |
分类性 | 将有相同属性和操作的对象抽象成类 |
多态性 | 同一个操作可以是不同对象的行为,不同对象执行同一个操作产生不同中的结果 |
封装性 | 从外部只能看到对象的外部特性,对象的内部对处是不可见的 |
模块独立性好 | 完成对象功能所需的元素都封装在对象内部模块独立性好 |
多态性是指同一个操作可以是不同对象的行为
封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作
封装是指隐藏对象的属性和实现细节,将数据和操作结合于统一体,仅对外提供访问方式
对象是由数据和操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的关系。面向对象技术的3个重要特性为:封装性、继承性和多态性,其中封装性有助于对象的信息隐蔽。
2、类和实例
类:具有共同属性、共同方法的对象的集合, 反映属于该对象类型的所有对象的性质[可具体可抽象] 类是关于对象性质的描述
实例: 一个具体对象是其对应类的一个实例[具体对象]
面向对象开发方法中,类与对象的关系是抽象与具体
3、消息
对象间的通信靠消息间传递 对象之间进行通信的构造叫作消息
4、继承
继承是指能直接获得已有的性质和特征,不必重复定义它们
继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。
继承的传递性
优点:相似的对象 可以共享程序代码和数据代码,提高软件的可重用性
对象不一定 有继承性
2.3.2优点
l 与人类习惯的思维方法一致
l 稳定性好
l 可重用性好
l 容易开发大型软件产品
l 可维护性好
习题
在面向对象的方法中,实现信息隐蔽的是依靠对象的封装
对象不一定有继承性
面向对象技术的3个重要特性是:封装性、继承性和多态性
3.逻辑模型
逻辑模型是将概念模型转化为具体的数据模型的过程 , 即按照概念结构设计阶段建立的基本 E-R 图 , 按选定的管理系统软件支持的数据模型 (层次/网状/关系/面向对象) , 转换成相应的逻辑模型 , 这种转换要符合关系数据模型的原则 ;
分多少个主题 , 每个主题包含的实体
每个实体的属性都有什么
各个实体之间的关系是什么
各个实体间是否有关系约束
比 概念模型多了 实体的 主外键 实体之间的关系
————————————————
原文链接:https://blog.csdn.net/u010520724/article/details/125005842
4.字符串比较大小
字符比较(character comparison)是指按照字典次序对单个字符或字符串进行比较大小的操作,一般都是以ASCII码值的大小作为字符比较的标准。
字符串比较的时候,字符串的大小是从最左边第一个字符开始比较,大者为大,小者为小,若相等,则继续比较后面的字符;
比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。
所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。文章来源:https://uudwc.com/A/Bvkgv
字符串如何比较大小?-常见问题-PHP中文网文章来源地址https://uudwc.com/A/Bvkgv