专注做网管的电脑公司
  • 微信公众号
  • 联系我们
  • 客服热线:13726442969
    • 通过 Lisp 语言理解编程算法:数组篇(上)

      本文是本系列文章的第四篇,Lisp(历史上曾拼写为 LISP),是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法。本文旨在通过 Lisp 编程语言理解数组的基本概念,由于原文篇幅较长,InfoQ 会通过上下篇的形式进行翻译发布。数组和结构一样,都是最基本的数据结构,同时也是实现算法的默认选择。一维数组也称为“向量”(vector),是由相同类型的元素组成的连续结构。在 Lisp

      查看更多 2019-12-24 451

    • 通过 Lisp 语言理解编程算法:简介和复杂度

      Lisp 的历史很悠久,早在 1958 年,John McCarthy 就设计了 Lisp 语言,是现今第二悠久而仍广泛使用的高端编程语言。只有 FORTRAN 编程语言比它更早一年。Lisp 一经问世,就站在计算机科学研究的前沿,特别是人工智能的研究方面。现在,它很少被用到,但这一切并不是因为古老,类似古老的语言却被广泛应用。Lisp(历史上曾拼写为 LISP),是具有悠久历史的计算机编程语言家

      查看更多 2019-12-24 452

    • 通过 Lisp 语言理解编程算法:链表篇(下)

      先进先出与后进先出由于列表的灵活性,使它们成为实现许多流行的抽象数据结构的通用选择。队列队列或先进先出(FIFO)具有以下接口:enqueue 末尾的项dequeue 第一个元素:获取它并将其从队列中删除它对元素规定了先进先出(FIFO)顺序。队列可以直接用 our-own-list 这样的单向链表来实现。显然,它也可以构建在动态数组之上,但需要对集合进行永

      查看更多 2019-12-24 414

    • 通过 Lisp 语言理解编程算法:链表篇(上)

      在许多方面,链接数据结构与我们在上一章中以数组为例在某种程度上探讨过的连续数据结构相反。就复杂性而言,它们不适用于那些需要重复修改的地方(首先是随机存取),但在需要重复修改的场景中会占上风。一般来说,它们更加灵活,因此允许程序员表示几乎任何一种数据结构,尽管需要这种灵活性的结构可能不太常见。通常,它们是专门的树或图。基本的链接数据结构是单向链表(singly-linked list)。就像数组一样

      查看更多 2019-12-24 299

    • 别再问“分库分表”了,再问就崩溃了!

      在谈论数据库架构和数据库优化的时候,我们经常会听到分库分表,分库分表其实涉及到很多难题,今天我们来汇总一下数据库分库分表解决方案。图片来自 Pexels数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到 1000W 或 100G 以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在

      查看更多 2019-12-24 327