【定义 1】 链表有环:如果链表的尾节点指向了链接中间的某个节点,则该链表有环。

「问题」: 判断一个链表是否有环,如果有请找出环的开始节点。

Read more »

参考《大话数据结构》,如下定义树:

树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:
有且仅有一个特定的称为根(root)的结点;
当n>1时,其余结点可分为m(m>0)个互补交互的有限集T1、T2…Tm,其中每一个集合本身又是一棵树,并称为根的子树(SubTree)。

在工作中,树被广泛使用,最常见的就是数据库中的 B+ 树,除此之外,网站中的菜单也常常是用树来表达其中的层次关系的(hierarchical),本文重点讲解基于菜单树这种应用常见下树在数据库中的存储方式。

Read more »

Datatables是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。

Datatables 灵活易用,具有如下特性:

  • 自动分页
  • 即时搜索
  • 多种排序规则,可自定义任意列排序,也可以多列排序
  • 可对分页样式、搜索框等自定义 CSS
  • 国际化,支持多种语言

……

Read more »

命名空间抽样模型

编程的本质是抽象,命名空间是一种编程抽象模型,它表示了一个标识符的可见范围。生活中我们会经常遇到两个人完全重名的情况,但是他们是不会被混淆的,因为他们来自不同的家庭,如果两人都来自同一个家庭,那么哥哥叫“小明”,弟弟绝对就不会再起名为“小明”了,我们可以认为每一个家庭都是一个命名空间。这种抽象模型在计算机中也被广泛应用,如计算机操作系统中同一个目录下是不允许有两个相同文件名的文件的,但不同的目录下确可以有文件名相同的文件。如

Read more »

Docker 是一种新的虚拟化技术,随着技术的不断革新 Docker 越来越受开发者的青睐,Docker 给开发带来了诸多方便,如提供如本地开发环境、单元测试环境、构建环境;Docker 还常用语弹性云服务和组件微服务。本文主要介绍 Docker 的基本使用,更多进阶内容我们将在下一节介绍。

Read more »

知识源于不断实践与训练,认知源于认真阅读,知识应该是衡量一个人的重要标准。

掌握一项技能对一个人的改变的多少取决于获得这项技能所花费的时间,这就是我下定决心要学习 Vim 的原因。

Read more »

对于小量数据来讲,数据库的优化往往是建立高效的索引策略,最常用的索引类型是 B-Tree 索引。然而量变引起质变,在单表数据量较大时,B-Tree索引就无法起作用了。除非是索引覆盖查询,否则数据库服务器需要根据索引扫描的结果回表,查询所有符合条件的记录,如果数据量巨大,这将产生大量随机I/O,随之,数据库的响应时间将大到不可接受的程度。另外,索引维护(磁盘空间、I/O操作)的代价也非常高。

Read more »
0%