随笔分类 - 算法
摘要:数组 数组是一种最基本的数据结构,它是内存上的一块连续存储空间。正因如此数组的随机访问很方便。但数组也有其固有的限制,大小分配后不能改变。 STL中的数组 STL中的Array是静态数组模板,就是我们所说的数组。使用方法如下。 std::array<int, 3> a1 = { 1, 2, 3 };
阅读全文
摘要:# 先进后出 砌墙的砖头 class Stack(): def __init__(self, size): self.size = size self.stack = [] self.top = 0 # 栈顶指针 # 入栈之前检查栈是否已满 def push(self, x): if self.isfu...
阅读全文
摘要:排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序
阅读全文
摘要:什么是数据结构? 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构。 N.Wirth: “程序=数据结构+算法” 列表 列表:在其他编程语言中称为“数组”,是一种基本的数据结构类型。 关于列表的问题: 列表中元素使如何存储的? 列表提供了哪些基
阅读全文
摘要:第一部分 算法简单概念 算法概念 复习:递归 时间复杂度 空间复杂度 什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法 复习:递归 递归的两个特点: 调用自身 结束条件 看下面几个函数: 递归:练习 时间复杂度 看代码: print('Hello World') for i i
阅读全文
摘要:1.轮叫调度(Round Robin)(简称rr) 轮叫调度(Round Robin Scheduling)算法就是以轮叫的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。算法的优点是其简洁性,它无需记录当前所有连接的状态,不管服务器上实际的连接
阅读全文
摘要:楔子 如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做? l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88] 你说,so easy! l.index(66)... 我们之所以用ind
阅读全文
摘要:一、什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法 一个算法应该具有以下七个重要的特征: ①有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止; ②确切性(Definiteness):算法的每一步骤必须有确切的定义; ③输入项(Input):一
阅读全文
摘要:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解 决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或 不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空
阅读全文
摘要:本文转载自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度
阅读全文