python总结六
Posted yunxintryyoubest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python总结六相关的知识,希望对你有一定的参考价值。
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转换成电信号或者光信号。通过光纤,双绞线,甚至是无限电波等介质传输到指定的地址。
以上是关于python总结六的主要内容,如果未能解决你的问题,请参考以下文章