摘要: 首先,BST节点的删除分为几种情况: (a)当该节点为叶子节点,则让该节点的父节点指向其变为NULL,然后释放节点; (b)当该节点不是叶子节点,但左子树或者右子树为空,则: (1)若左子树为空,则让该节点父节点指向其右节点; (2)若右子树为空,则让该节点父节点指向其左节点。 (c)当该节点不是叶 阅读全文
posted @ 2018-07-17 18:50 IvanB.G.Liu 阅读(3977) 评论(0) 推荐(0) 编辑
摘要: python中列表字典和字符串的相互转化有两种方法: (1)使用str和eval的方法,一个简单的例子如下: (2)使用json.dumps和json.loads的方法,一个简单的例子如下: 需要注意的是,str和eval是一对方法,json.dumps和json.loads是另一对方法,str和j 阅读全文
posted @ 2018-07-09 10:17 IvanB.G.Liu 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 1. WM(Wu-Manber)算法的简单理解: (1)WM算法需要的参数: ∑:字母集 c: 字母集数目 m:模式串集合中,字符串长度最小的模式串的长度 B:字符块长度,是shift表的索引,一般取2或者3 h:当前扫描过程中长度为B的模式串子串 T:文本串 N:文本串总长度 P={P1, P2. 阅读全文
posted @ 2018-07-08 22:08 IvanB.G.Liu 阅读(3796) 评论(0) 推荐(2) 编辑
摘要: Mysql主从复制概述: mysql的主从复制,可以实现读写分离和多处自动备份,提高数据库负载能力和安全性。如下图: 当web服务器向mysql数据库写数据时,统一写到master所在的主库。 当web服务器从mysql数据库读数据时,从各自的slave从库读取。 主库和从库之间的数据更新采用"异常 阅读全文
posted @ 2018-06-23 16:52 IvanB.G.Liu 阅读(154) 评论(1) 推荐(0) 编辑
摘要: 当调用类中不存在的属性(变量或函数)时,如果有__getattr__,则会调用到__getattr__函数中。例如:a = A(),a.foo(),当a中没有foo函数时,会自动调用a的__getattr__(self, foo)函数。 具体在实际中, __getattr__使得实现adapter 阅读全文
posted @ 2018-06-10 16:20 IvanB.G.Liu 阅读(956) 评论(0) 推荐(0) 编辑
摘要: shell终端进行两步操作即可: (1)export PYTHONPATH=项目路径(ps:如/data/project/test) (2)env | grep PYTHONPATH若有 PYTHONPATH=/data/project/test则说明成功。 阅读全文
posted @ 2018-06-10 16:15 IvanB.G.Liu 阅读(2637) 评论(0) 推荐(0) 编辑
摘要: (1)python的LEGB: LEGB是指:按照L>E>G>B 的顺序优先级进行变量查找。 L:local函数内部作用域,是最底层的单个函数里面; E:enclosing函数内部与内嵌函数之间,是有内部函数的函数里面; G:global 全局作用域,是一个.py文件中; B:build-in内置作 阅读全文
posted @ 2018-04-23 13:32 IvanB.G.Liu 阅读(167) 评论(0) 推荐(0) 编辑
摘要: (1)python DB API包含的内容: (2)使用python DB API访问数据库的流程: (3)python DB API的主要方法: connect连接类: conn = pymsql.connect(host="localhost", port=3306, user="root", 阅读全文
posted @ 2018-04-22 19:47 IvanB.G.Liu 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 内部联结: (1)标准的联结不设立联结条件(where语句),因为返回的结果数目是第一个表中行数×第二个表中行数,这种现象又叫笛卡儿积。 (2)内部联结设置了联结条件,只有满足了联结条件的两表对应行才会显示出来,也就是显示两表关于联结条件的交集部分,如: SELECT * FROM table1 I 阅读全文
posted @ 2018-04-19 14:02 IvanB.G.Liu 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 共享内存允许多个进程共享一个给定的内存空间,进程可以直接读写内存,因此是IPC中速度最快的。 Linux中,内核专门留出了一块内存区作为共享内存区,用于多个进程交换信息。需要通信的进程将共享内存区映射到自己的私有地址空间,从而使读写进程地址空间就相当于读写内存区。使用共享内存的头文件是#includ 阅读全文
posted @ 2018-04-18 16:01 IvanB.G.Liu 阅读(1330) 评论(0) 推荐(0) 编辑