Category Archives: Computer Theory

Tips for traversing a tree with stacks

  Here are the tips of my solution: You always push the root to the stack first The most difficult part is: when you see a node on the top of element, should you go on to push its children, or pop it to print it?  For pre-order traversal, you can pop it then push […]

二叉查找树与平衡二叉树

内容编译自网络 Binary Search Tree 什么情况下会出现O(n) ? 如果树的根结点没选好,一棵树变成一个列表: 平衡二叉查找树 –  可以自动旋转 参考: http://en.wikipedia.org/wiki/Binary_search_tree http://www.cnblogs.com/huangxincheng/archive/2012/07/21/2602375.html http://www.cnblogs.com/huangxincheng/archive/2012/07/22/2603956.html

三种i/o模式:异步模式与阻塞模式的组合

阻塞且同步: read()方法要等到读到数据了才返回,如果没数据就会一直等 非阻塞且同步: read()方法如果发现当前没数据,就会返回; 调用者可以去做别的事情。然后过段时间再读(轮询) 非阻塞且异步:read()方法如果发现当前没数据,会返回; 调用者可以去做别的事情,也不用再轮询,等操作系统把数据读好了,会通过回调方式把数据交给调用者。 阻塞并异步: 没有这样的组合,这种组合也没有意义 归纳一下:   阻塞/非阻塞:读不到数据方法就不退出,就是阻塞   同步/异步:   读不到数据需要主动重试,就是同步; 如果数据好了惊醒你,就是异步。 可以看出,”非阻塞且异步“是性能最好的模式,它避免无谓的等待,节省线程数;避免无效读,提高线程的工作效能。 参考材料: http://www.artima.com/articles/io_design_patterns.html

Http Chunked transfer encoding的作用

有利于 长连接下的流式转输 摘自 http://en.wikipedia.org/wiki/Chunked_transfer_encoding 引用 Chunked encoding has the benefit that it is not necessary to generate the full content before writing the header, as it allows streaming of content as chunks and explicitly signaling the end of the content