随笔分类 - python
摘要:一、密码与加密 传统密码:加密算法是秘密的 现代密码系统:加密算法是公开的,密钥是秘密的 对称加密,加密解密都是一个密钥 非对称加密,加密解密是不同的密钥 对称加密,加密解密都是一个密钥 非对称加密,加密解密是不同的密钥 二、RSA加密算法 1、RSA非对称加密系统 公钥:用来加密,是公开的 私钥:
阅读全文
摘要:一、最大公约数 约数:如果整数a能被整数b整除,那么a叫做b的倍数,b叫做a的约数。 最大公约数(Greatest Common Divisor,GCD):给定两个整数a,b,两个数的所有公共约数中的最大值即为最大公约数。例如,12与16的最大公约数是4. 1、如果计算两个数的最大公约数 欧几里得:
阅读全文
摘要:一、从斐波那契数列看动态规划 斐波那契数列:Fn = Fn-1 + Fn-2 Fibonacci:除第一个和第二个数外,任意一个数可由前两个数相加得到。 1、练习:递归和非递归的方法来求解 使用递归和非递归的方法来求解斐波那契数列的第n项。 2、递归速度问题——子问题重复计算 通过上例可以发现递归版
阅读全文
摘要:贪心算法(又称贪婪算法)是指,在堆问题求解时,总是做出当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出是在某种意义上的局部最优解。 贪心算法并不保证会得到最优解,但是在某些问题上贪心算法的解就是最优解。要会判断一个问题能否用贪心算法来计算。 一、找零问题 假设商店老板需要找零n元钱,
阅读全文
摘要:一、AVL树 AVL树是一棵自平衡的二叉搜索树。 1、平衡因子 balance factor(平衡因子)记录了左右子树的高度差。上图定义的是有左子树没有右子树差值是1,没有左子树有右子树差值是-1. 2、AVL树具有以下性质 根的左右子树的高度之差的绝对值不能超过1 根的左右子树都是平衡二叉树(任何
阅读全文
摘要:1、给两个字符串s和t,判断t是否为s的重新排列后组成的单词。 s = "anagram", t = "nagaram", return true. s = "rat", t = "car", return false. leetcode地址:https://leetcode.com/problem
阅读全文
摘要:一、NumPy简介 NumPy是高性能科学计算和数据分析的基础包。它是pandas等其他各种工具的基础。 1、NumPy的主要功能 ndarray:一个多维数组结构,高效且节省空间 无需循环对整组数据进行快速运算的数学函数 线性代数、随机数生成和傅里叶变换功能 2、安装和引用方法 安装方法:pip3
阅读全文
摘要:https://blog.csdn.net/secretx/article/details/51700361 https://docs.python.org/3.5/library/functools.html
阅读全文
摘要:一、框架对比 (1)django、flask、tornado框架的比较? (2)什么是wsgi? 二、django框架 2、视图相关 (1)简述什么是FBV和CBV? (2)如何给CBV的程序添加装饰器? 3、model相关 (2)django中如何根据数据库表生成model中的类? (3)djan
阅读全文
摘要:2、谈谈你对websocket协议的认识。 3、什么是magic string ? 4、如何创建响应式布局? 5、你曾经使用过哪些前端框架? 6、什么是ajax请求?并使用jQuery和XMLHttpRequest对象实现一个ajax请求。 7、如何在前端实现轮询? 8、如何在前端实现长轮询? 9、
阅读全文
摘要:1、列举常见的关系型数据库和非关系型都有那些? 2、MySQL常见数据库引擎及比较? 3、简述数据三大范式? 4、什么是事务?MySQL如何支持事务? 5、简述数据库设计中一对多和多对多的应用场景? 6、如何基于数据库实现商城商品计数器? 7、常见SQL(必备)详见武沛齐博客:https://www
阅读全文
摘要:1、简述 OSI 七层协议。 2、什么是C/S和B/S架构? 3、简述三次握手、四次挥手的流程。 4、什么是arp协议? 5、TCP和UDP的区别? 6、什么是局域网和广域网? 7、为何基于tcp协议的通信比基于udp协议的通信更可靠? 8、什么是socket?简述基于tcp协议的套接字通信流程。
阅读全文
摘要:1、为什么学习Python? 2、通过什么途径学习的Python? 3、Python和Java、PHP、C、C#、C++等其他语言的对比? 4、简述解释型和编译型编程语言? 5、Python解释器种类以及特点? 6、位和字节的关系? 7、b、B、KB、MB、GB 的关系? 8、请至少列举5个 PEP
阅读全文
摘要:虽说用Python编写简单的网络程序很方便,但复杂一点的网络程序还是用现成的框架比较好。这样就可以专心事务逻辑,而不是套接字的各种细节。SocketServer模块简化了编写网络服务程序的任务。同时SocketServer模块也是Python标准库中很多服务器框架的基础。 socketserver模
阅读全文
摘要:第一篇:Jupyter Notebook(iPython) 第一篇:爬虫基本原理 第二篇:请求库之urllib模块、requests模块、selenium模块 第三篇:解析库之re、BeautifulSoup模块、lxml模块(应用xpath技术)、pyquery 第四篇:存储库之mongodb,r
阅读全文
摘要:一、直接寻址表 如果某应用要用到一个动态集合,其中每个元素都是全域U={0,1….,m}中的一个关键字 为表示动态集合,使用数组。称为直接寻址表,记为T[m],其中每个位置称为一个槽slot,对应于全域中的一个关键字。槽k指向集合中一个关键字为k的元素。如果该集合中没有关键字为k的元素,则T[k]=
阅读全文
摘要:链表定义:链表是由一系列节点组成的元素结合。每个节点包含两个部分,数据域item和指向下一个节点的指针next。通过节点之间的相互连接,最终串联成一个链表。 一、单链表 1、节点定义 2、建立链表 (1)头插法 头插法是在头结点这边插入。 (2)尾插法 不光要知道头还需要知道尾在哪。从尾节点插入。
阅读全文
摘要:一、迷宫问题 给一个二维列表,表示迷宫(0表示通道,1表示围墙)。给出算法,求一条走出迷宫的路径。 1代表墙,0代表路,图示如下: 二、栈——深度优先搜索 应用栈解决迷宫问题,叫做深度优先搜索(一条路走到黑),也叫做回溯法。 1、用栈解决的思路 思路:从上一个节点开始,任意找下一个能走的点,当找不到
阅读全文
摘要:一、列表/数组 列表(其他语言称数组)是一种基本数据结构。 1、列表的元素是如何存储的? c的数组和python的列表有两点不同: (1)数组元素类型要相同,列表元素类型可以不一样。 python存的不是真实的值而是存的内存地址。 32位机器上一个地址占4个字节,64位机器上一个地址占用8个字节。
阅读全文
摘要:一、什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合和字典等都是一种数据结构。 N.Wirth:“程序=数据结构+算法” 二、数据结构的分类 数据结构按照其逻
阅读全文