python总结六

1.python中主要存在四种命名方式:
object #公用方法
_object #半保护
                 #被看作是“protect”,意思是只有类对象和子类对象自己能访问到这些变量,
                  在模块或类外不可以使用,不能用’from module import *’导入。
                #__object 是为了避免与子类的方法名称冲突, 对于该标识符描述的方法,父
                  类的方法不能轻易地被子类的方法覆盖,他们的名字实际上是
                  _classname__methodname。
_ _ object  #全私有,全保护
                       #私有成员“private”,意思是只有类对象自己能访问,连子类对象也不能访
                          问到这个数据,不能用’from module import *’导入。
_ _ object_ _     #内建方法,用户不要这样定义
 
2.import math
print(math.floor(5.7))##向下取整,py3,在py2中是5.0
 
3.有向图的邻接矩阵不是对称的,无向图的邻接矩阵是对称的

4.红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组
例子:红黑树已经有n个数据,寻找某个key是否存在的时间复杂度是O(logn)

5.一颗非空的二叉树的前序遍历和后序遍历序列正好相反,则该二叉树一定满足只有左子树或者只有右子树,或者是只有一个根节点

6.设二维数组A[0..m-1][0..n-1]按行优先顺序存储,则元素A[i][j]的地址为LOC(A[0][0])+(i*n+j)

7.平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

8.平衡二叉树有被称为AVL树(有别于AVl算法),且具有以下性质:它是一颗空树或它的左右两个子树的高度差的绝对值不超过1,。并且左右子树都是一颗平衡二叉树.构造与调整方法 平衡二叉树的常用
算法有红黑树,AVL,Treap等
 下面关于平衡二叉树的说法正确的是?
  正确答案: A B C D   
  它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
 
  构造与调整平衡二叉树的常用算法有红黑树、AVL、Treap等。
 
  采用平衡树的优点是使树的结构较好,从而提高查找运算的速度。

  采用平衡树的缺点是是插入和删除运算变得复杂化,从而降低了他们的运算速度

9,若事务T对数据对象A加上S锁,则事务T可以读A但是不能修改A,前台事务只能在对A加S锁,而不能加X锁。

10.子模式DDL用来描述数据库的局部逻辑结构

11.数据库系统的存储模式如有改变,概念模式无需改变。

12.数据库系统减少了数据冗余

13.数据库图解:下列模式中能够给出数据库物理库存储结构与物理存取方法的是:内模式

 

14.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为O(n)

15.存储密度=单链表数据项所占空间/节点所占空间

节点所占空间=数据项所占空间+存放后继节点地址的链域

16.无向图存储:邻接矩阵,领接表,多重领接表

有向图:领接矩阵,领接表,十字链表

17.广义表(((a,b,c),d,e,f))的长度是1,深度是4

广义表的长度:最大括号中的逗号数+1

广义表的深度:展开后含有括号的层数

18.在有序双向链表中定位删除一个元素的平均时间复杂度为

正确答案: B  

O(1)
O(N)
O(logN)
O(N*logN)
注明:不管是单向链表还是双向链表查找和删除,插入都是通过节点的指针来进行访问的,时间复杂度都是O(n)

19.下列叙述中正确的是( )。

  正确答案: A   你的答案: A (正确)

在栈中,栈顶指针的动态变化决定栈中元素的个数
在循环队列中,队尾指针的动态变化决定队列的长度
在循环链表中,头指针和链尾指针的动态变化决定链表的长度
在线性链表中,头指针和链尾指针的动态变化决定链表的长度
在栈中,栈底指针保持不变,有元素入栈,栈顶指名增加,有元素出栈,栈顶指针减少。在循环队列中,队头指针和队尾指针的动态变化决定队列的长度。在循环链表中,前一个结点指向后一个结点
而最后一个结点指向头结点,只有头结点是固定的。线性链表中,由于前一个结点包含下一个结点的指针,尾结点指针为空,要插入或删除元素,只需要改变相应位置的结点指针即可,
头指针和尾指针无法决定链表长度
20.静态链表:定义一个较大的结构数组作为备用结点空间(即存储池)

 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 。

 正确答案: B 

单链表
静态链表
线性链表
顺序存储结构(链式存储)

 21.OSI七层协议详解:

应用层:首先最上面是应用层,他的作用是问应用程序提供服务并规定应用程序中通讯相关的细节,也就是为应用提供服务

常见的协议有HTTP,FTP,TELNET,SMTP等。

日常开发中主要以HTTP为主,那么把浏览器看做是一个应用,当用户发起请求的时候,通过http协议获得数据以供

浏览器使用,这也是应用层的用途。

表示层:表示层的作用是将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层可以处理

的格式。它主要是负责数据格式的转换。具体来讲呢,是将设备固有的数据格式转化为网络标准格式。常见的协议有ASCII,

SSL/TLS等。

会话层:会话层的作用是负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理,

常见的协议有ADSP,RPC等。

传输层:传输层起着可靠传输的作用,只在通信双方节点进行处理,而不需要在路由器上面进行处理,此层具有两个具有

代表性的协议:TCP和UDP。

TCP是提供可靠的通信传输,简单的说就是会确认目标能够通信的情况下才会传输数据(因此需要建立三次握手),传输过程

如果丢了数据,也会重发。而UDP协议不然,不会确认目标可以通信,只会根据协议发到对方地址的端口,至于对方收不收到,

丢不丢包,一概不管。

传输层有一个重要的作用:就是指定通信端口,以请求服务器为例,服务器有处理多种协议的能力,如之前应用层所说的HTTP,SMTP,TELNET等,但是具体用什么协议,服务端并不知道,但还是如果你指定了端口的话,如80,服务器就会知道你是想用http协议的,自然是转给对应协议的处理程序进行处理。

网络层:网络层是负责将数据传输到目标地址,目标地址可以将多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。主要是由IP,ICMP两个协议组成。

数据链路层:该层负责层面上互连的节点之间的通信传输。例如与1一个以太网相连的两个节点之间的通讯。查过的协议有HDLC,PPP,SLIP等。

物理层:物理层负责哦,1比特流(0,1序号)与电压高低,光的闪灭之间的互换,典型的协议有232C,RS 449/422/423  v.24和x.21 和x.21bis等

看着高大上呢,本质上就是将数据的0,1转换成电信号或者光信号。通过光纤,双绞线,甚至是无限电波等介质传输到指定的地址。




posted @ 2019-05-04 06:29  风不再来  阅读(297)  评论(0编辑  收藏  举报