数据结构概述
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
定义数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,...
Markdown是一种轻量级的「标记语言」,通常为程序员群体所用,目前它已是全球最大的技术分享网站 GitHub 和技术问答网站 StackOverFlow 的御用书写格式。Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
基本语法标题123456# 一级标题## 二级标题### 三级标题#### 四级标题##### 五...
MongoDB 是一款基于分布式文件存储的NoSQL数据库系统,由 MongoDB Inc. 开发(现属于 MongoDB 公司),于 2009 年开源,旨在为海量非结构化数据提供高效、灵活的存储与查询解决方案。
基础核心概念
文档(Document):数据存储的基本单位,类似 JSON 格式,支持嵌套结构。与Mysql中的行对应。
集合(Collection):一组文档的 集合,无固定...
对象的创建、实例化在JS中创建对象,通常使用预加载函数的方法。
123456789101112131415161718192021222324function LiangShan(name, nickname, ranking){ this.name = name; this.nickname = nickname; this.ranking = ranking;...
访问者模式(Visitor Pattern)是一种行为型设计模式,其核心思想是将数据结构(元素对象)与对数据的操作(访问逻辑)分离。通过定义独立的访问者类,使得新增操作无需修改元素本身的代码,而是通过扩展访问者类来实现,从而满足 “开闭原则”。访问者模式的本质是将 “数据” 和 “作用于数据的操作” 解耦,使操作集合可独立变化。
访问者模式的组成部分
抽象访问者(Visitor):定义针...
在设计模式中,双重分发(Double Dispatch)是一种通过两次动态类型绑定(运行时多态)来决定方法调用的技术。它允许在程序运行时,根据两个对象的实际类型选择具体的行为,而非编译时的静态类型。这种机制常用于需要根据多个对象类型进行复杂调度的场景,典型应用是访问者模式(Visitor Pattern)。
核心概念单重分发(Single Dispatch)
基于单个对象的运行时类型调用...
解释器模式(Interpreter Pattern)是一种行为设计模式,它定义了一种语言的文法表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。简单来说,就是为了解释一种特定的语言而设计的模式。
解释器模式的构成
抽象表达式(Abstract Expression):定义解释操作的抽象接口,具体的解释器类将实现该接口。
终结符表达式(Terminal Expression):...
亨元模式(Flyweight Pattern),其运用共享技术有效的支持大量颗粒度的对象。亨元模式可以避免大量非常相似类的开销。
详解在程序设计中,有时需要生成大量细粒度的类实例来表示数据。如果能发现这些实例除了几个参数外基本上都是相同的,那么把那些参数移到类实例的外面,在方法调用时将它们传递进来,就可以通过共享大幅度地减少单个实例的数目。
亨元是什么意思
“亨元” 并非日常常见词汇,在...
在linux的使用中,如果一个长时间运行的任务,在运行期间关掉窗口或者断开连接,此任务将会被杀掉,一切半途而废。让我们了解一下为什么会出现这种状况。
出现此状况的原因在linux/unix中,有以下几个概念
进程组(process group):一个或多个进程的集合,每个进程组有唯一一个进程组ID,即进程组长的进程ID
会话期(session):一个或多个进程组的集合,有唯一...
中介者模式(Mediator Pattern)是一种行为设计模式,它能减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,促使它们通过一个中介者对象进行间接沟通。如此一来,对象之间的耦合度得以降低,并且能更轻松地对系统进行修改和扩展。
中介者模式用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互
中...