摘要: 1.有向图 图也是一种常用到的数据结构,图分有向图和无向图。其中有向图,同时,树其实是一种特殊的有向图。 有下面一个问题,我们需要出售芒果,需要联系朋友们找芒果商。 在构建图算法的时候需要注意,我们需要标记某个元素是不是已经被查找过了,不然的话可能会造成死循环。比如下面的情况,你的朋友是peggy, 阅读全文
posted @ 2020-12-11 16:28 王寄鱼 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 散列表是一种非常常用的数据结构,在python中,字典与集合的底层实现都是散列表,也叫hash表。 1.散列函数 想要了解散列表首先需要知道散列函数,散列函数的使用非常简单,当你传入一个不可变类型的数据,他会返回一个固定的数字,并且他满足如下的条件 1.散列函数的结果必须是一致的,例如,在你输入ap 阅读全文
posted @ 2020-12-11 15:10 王寄鱼 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 快速排序是一种很常用的排序算法,一般来说我们使用递归来实现它,从效率来说,快速排序不算快(时间复杂度O(n^2)),但是因为使用递归很好编写,容易理解,并且如果结合二分法的话可以把时间复杂度提到O(nlongn),这是一个还能接受的复杂度。 下面使用递归实现一个简单的sum函数,为下面的快速排序做为 阅读全文
posted @ 2020-12-11 11:06 王寄鱼 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 详细有七层 但是一般来说对我们开发来说归为五层 应用层的程序要准备某种协议的数据,在发送前,通过内核完成和别人的连接 什么是tcp 面向连接的 -》一定要聊三次握手 可靠的传输协议 当双方走完三次握手之后,双方会在自己的内存里开辟一个队列空间,里面有一些资源,比如socket等。双方有资源为对方服务 阅读全文
posted @ 2020-12-11 09:52 王寄鱼 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL部分简单操作 一般mysql的单表瓶颈大概是五百万条数据,这个时候我们需要水平拆分,也就是分表,但是注意,生产环境下分表的时候我们需要把表分在两台不同的机器上,如果还是在同一个机器上其实是没有意义的,因为如果在同一台机器上那么消耗的资源还是一样的,没太大区别。同理我们的数据库瓶颈大概在 阅读全文
posted @ 2020-12-11 09:49 王寄鱼 阅读(71) 评论(0) 推荐(0) 编辑