欢迎您的访问
专注于分享最有价值的互联网技术干货

精选文章 第19页

五大常用算法总结

管理员评论(0)赞(0)

分治算法 一、基本概念 分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很...

老生常谈—哈希表

管理员评论(0)赞(0)

哈希表的概念 哈希表也叫做散列表,是一种根据关键码值(key value)来进行直接访问的数据结构。它通过某种映射关系,将关键码值映射到某个存储位置中来进行访问 用一个简单的公式描述为:存储位置=f(关键码值) 我们也将这种通过关键码值直接...

算法度量方法—时间复杂度及空间复杂度

管理员评论(0)赞(0)

以前对这方面是一知半解,终于在一次大众点评的笔试中受到刺激。 步入正题:什么样的算法才是高效的算法?想必所有的人都这么想过:用最少的钱,花做最短的时间,买到最多的东西。同样,用最少的内存空间,花最短的时间解决问题的算法就是。因此我们考虑用时...

一千个不用 Null 的理由!

管理员评论(0)赞(0)

港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入...

白话NIO之Channel

管理员评论(0)赞(0)

Channel简介 在标准的IO当中,都是基于字节流/字符流进行操作的,而在NIO中则是是基于Channel和Buffer进行操作,其中的Channel的虽然模拟了流的概念,实则大不相同。 区别 Stream Channel 支持异步 不支...

白话NIO之Selector

管理员评论(0)赞(0)

1. Selector简介 选择器提供选择执行已经就绪的任务的能力.从底层来看,Selector提供了询问通道是否已经准备好执行每个I/O操作的能力。Selector 允许单线程处理多个Channel。仅用单个线程来处理多个Channels...

白话NIO之Buffer

管理员评论(0)赞(0)

Buffer简介 Buffer意为缓冲区,其本质上就是是一块可写入数据,然后可以从中读取数据的内存区域,通过该种方式有助于减少系统开销和提高外设效率。对于缓冲区我们早有所了解,比如在C中标准I/O中的read,write直接调用系统的输入输...