关闭

前缀、中缀、后缀表达式(逆波兰表达式)

前缀、中缀、后缀表达式(逆波兰表达式) 介绍 前缀表达式、中缀表达式、后缀表达式都是四则运算的表达方式,用以四则运算表达式求值 ,即数学表达式的求职 中缀表达式 简介 中缀表达式就是常见的运算表达式,如(3+4)×5-6 前缀表达式 简介 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前 比如:- × + 3 4 5 6 ...
阅读(558) 评论(0)

git介绍

git介绍 什么是git git是一种版本控制工具。那么版本控制工具又是什么呢? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。如果想要详细了解可看另一篇版本控制的介绍 其他版本控制工具有SVN、CVS,而与这些版本控制工具不同的是git是分布式版本控制工具 什么是github github是一个用git做版本控制的项目托管平台...
阅读(209) 评论(0)

关于版本控制

关于版本控制 什么是版本控制 定义 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统 举个例子 快毕业了要写毕业论文,可能你的毕业论文要该很多个版本,第一稿、第二稿等等,如果你没有“版本控制“这个思想,可能你每一个稿都在一个word文档下更改,如果你哪一个突然需要之前几稿的内容或者需要变回之前的内容,那么你一定会抓狂。而如果你有”版本控...
阅读(190) 评论(0)

单例模式

单例模式 介绍 单例模式是Java中常用的一种设计模式。单例模式的定义是确保一个类只有一个实例,而且确保自行实例化并向整个系统提供这个实例 分类 单例模式的实现方式懒汉单例、饿汉单例、登记式单例 懒汉式单例 介绍 懒汉式单例,顾名思义懒汉式单例之所以被叫做懒汉式是因为懒汉式单例调用取得实例方法的时候才会实例化对象 实例 //懒汉式单例类...
阅读(162) 评论(0)

工厂设计模式

工厂设计模式 介绍 工厂设计模式按类别的话是属于创建型设计模式,在面向对象编程中,通常使用new的方式来创建一个对象,但是在一些情况下使用new来创建对象会有一些问题,比如说new一个对象可能面临初始化设置,选择生成哪一个对象实例或一系列生成对象之前需要做的工作。在此时创建一个对象就不是new这么简单了 而工厂设计模式就是解决上述问题,让你不在关注构造对象实例的细节和过程,只...
阅读(147) 评论(0)

设计模式开篇

设计模式开篇 何为设计模式 作为一个程序员或多或少都了解过设计模式,但是何为设计模式,下面我将按我个人的理解对设计模式进行一些概述 历史 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的。 目...
阅读(118) 评论(0)

solr高亮只显示部分字符串

solr高丽只显示部分字符串 情况介绍 如果搜索高亮结果时,只显示了部分字符串,很有可能是因为solr高亮搜索结果长度被限制了, 解决方法 设置每个分片的最大长度,默认为100 query.setHighlightFragsize(100000);...
阅读(1045) 评论(0)

闭包

闭包 什么是闭包 闭包就是一个函数,两个函数彼此嵌套,内部函数就是闭包 形成闭包条件是内部函数需要通过return给返回出来. script type="text/javascript"> function f1() { var name="tom"; var age=18; function...
阅读(220) 评论(0)

作用域链

作用域链 定义 变量在当前环境now、内部环境f1、内部深层环境f2/f3....都起作用的现象形成了一个链条,这个链条就称为变量的"作用域链" script type="text/javascript"> //作用域链 var title="链条"; console.log("now:"+title); func...
阅读(257) 评论(0)

JS函数

JS函数 函数的封装 传统方式 function 函数名(){} 该方式的函数有“预加载”过程,允许我们先调用函数、再声明函数 预加载:代码先把函数的声明放入内存。代码看起来是先调用、后声明,本质是先声明、后调用的。 html lang="en"> head> meta charset="UTF-8"> title>Titlet...
阅读(146) 评论(0)

设计一个有getMin功能的栈

设计一个有getMin功能的栈 题目: 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作 要求: pop、push、getMin操作的时间复杂度都是O(1)设计的栈类型可以使用现成的栈结构 实现 思路:在设计上我们使用两个栈,一个栈保存当前栈的元素,其功能和一个正常的栈没有区别,这个栈标记为stackData。另一个栈用于保存每一步...
阅读(271) 评论(0)

快速排序

快速排序 介绍 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。 步骤 从数列中挑出一个元素,称为"基准"(pivot),重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(p...
阅读(247) 评论(0)

归并排序

归并排序 介绍 归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为O(n log n)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。 算法分析 算法复杂度 O(n log n)O(nlogn) 算...
阅读(146) 评论(0)

插入排序

插入排序 介绍 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间 算法描述 一般来说...
阅读(164) 评论(0)

选择排序

选择排序 介绍 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一...
阅读(183) 评论(0)
155条 共11页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:67431次
    • 积分:2080
    • 等级:
    • 排名:千里之外
    • 原创:146篇
    • 转载:9篇
    • 译文:0篇
    • 评论:4条
    最新评论