数据结构
文章平均质量分 59
XOXOOOX
本人在工作11年时间里,有9年的php的编程经验,5年团队管理经验。
精通LNAMP下基于php的web开发;
熟悉分布式架构、消息中间件。
熟悉DIV、CSS、Javascript、JQuery、Ajax前端技术;
熟悉OOP,MVC, smarty模板,speedphp、CI、tp框架;
熟悉sso,server push,oauth机制;
熟悉 组合、观察者、装饰器等设计模式;
熟悉rest架构风格;
熟悉mysql数据库使用和组织结构
熟悉mysql性能优化、并发处理;
熟悉linux环境,能完成基本的shell编程;
熟悉TCP/IP、UDP、HTTP等协议,7层网络协议原理,能够熟练进行socket网络编程;
熟悉LVS的负载均衡策略以及常规高并发解决方案;
熟悉nginx的反向代理负载均衡,熟悉hession、thrift、webservice远程调用;
熟悉sphinx搜索服务
熟悉vanish、CDN、静态页面的缓存机制原理与实现
熟悉memcache、redis、MongoDB等nosql编程;
展开
-
hashmap如何得到数组下标
长度16或者其他2的幂,Length-1的值是所有二进制位全为1,这种情况下,index的结果等同于HashCode后几位的值。只要输入的HashCode本身分布均匀,Hash算法的结果就是均匀的。计算book的hashcode,结果为十进制的3029737,二进制的101110001110101110 1001。假定HashMap长度是默认的16,计算Length-1的结果为十进制的15,二进制的1111。可以说,Hash算法最终得到的index结果,完全取决于Key的Hashcode值的最后几位。原创 2023-04-12 16:21:14 · 461 阅读 · 0 评论 -
时间复杂度和空间复杂度
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近无穷大时T(n)/f(n)的极限值为不等于零的常数,则f(n)是T(n)的同数量级函数。当n趋近于无穷大时,如果lim(T(n)/f(n))的值为不等于0的常数,则称f(n)是T(n)的同数量级函数。那么,如果T(n)/f(n)的极限值是等于0,那么就是说f(n)的增长趋势比T(n)大太多,那么就说明他们俩不是一个数量级的。首先你要知道T(n)是f(n)忽略常量、低次幂和最高次幂的系数。原创 2023-01-29 19:23:06 · 240 阅读 · 0 评论 -
HashMap和HashTable区别
HashMap和HashTable区别原创 2023-01-29 19:14:48 · 133 阅读 · 0 评论 -
list三个实现类ArrayList、LinkedList、vector
list三个实现类ArrayList、LinkedList、vector原创 2023-01-29 19:01:29 · 120 阅读 · 0 评论 -
二叉树、B树、B+树、红黑树B树B树与二叉树的区别
B+树的内部节点并没有指向关键字具体信息的指针,因此其内部节点相对B树更小,如果把所有同一内部节点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多,一次性读入内存的需要查找的关键字也就越多,相对IO读写次数就降低了。,只需要扫一遍叶子结点即可,但是B树因为其分支结点同样存储着数据,我们要找到具体的数据,需要进行一次中序遍历按序来扫,所以B+树更加适合在区间查询的情况,所以通常B+树用于数据库索引。B+关键字集合分布在在叶子节点中,非叶子节点只是关键字叶子节点的索引。红黑树的插入删除效率更高。原创 2023-01-29 16:27:41 · 2018 阅读 · 0 评论 -
8种基本数据结构
故名思议,双向链表就是有两个方向的链表,同单向链表不同,双向链表中每一个节点不仅存储下一节点的指针,而且存储指向前一个节点的指针。哈希值并不是具有唯一性,在某些情况下Hash值会冲突,HashMap在Hash冲突时,会将元素在数组的位置上添加为链表元素结点,当。的,前一个元素存储的下一个地址中存储的不一定是下一个元素。:单项链表是最简单的链表形式,我们将链表中最基本的数据称为节点(node),每一节点包括数据块和下一节点的指针。对于一个任意节点,如果其右子树的深度为j,其左子树的深度为j或j+1。原创 2023-01-29 15:48:48 · 251 阅读 · 0 评论