行为型:迭代器模式

行为型:迭代器模式

bingliaolong 5年前 6 0

概述 对于集合对象而言,肯定会涉及到对集合的添加和删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作放在集合对象中,但这样的话,集合对象既承担太多的责任了。 面向对象设计原则中有一条就是单一职责原则,所有我们要尽可能地分离这些职责,用不同的类取承担不同的责任,迭代...

行为型:策略模式

行为型:策略模式

bingliaolong 5年前 65 0

概述 完成一项任务或事情,往往会有多种方法,而每一个方法可以称之为一个策略。而策略的选择,往往需要根据实际的环境或者条件的不同而做出不同的选择。 定义 定义一系列算法,将每一个算法封装起来,并让它们可以相互代替。 策略模式让算法独立于使用它的客户而变化。 角色 Context: ...

动态规划_最长公共子序列

动态规划_最长公共子序列

bingliaolong 5年前 0 0

简述 最长公共子序列算法思想,令 X=< x1,x2,...xm > Y=<y1,y2,...yn> 为两个序列, Z=<z1,z2,...zk>为X和Y的某一个最长公共子序列: 如果 xm=yn,则zk=xm=yn,且Z(k-1)是X(m-1...

排序_基数排序

排序_基数排序

bingliaolong 5年前 1 0

简述 基数排序思想,假设对数组A[p...r]排序,其中数组中所有元素都为正整数,并且不超过RADIXWITH位(有模板的RADIXWITH参数指定): 首先对A中所有元素按照个位数大小进行排序(原地的) 再对A中所有元素按照个十数大小进行排序(原地的) 一直到最后按照A中所有元...

排序_归并排序

排序_归并排序

bingliaolong 5年前 1 0

简述 归并排序思想,假设对数组A[p...r]排序: 分解 将数组A[p...r]平均划分为2子数组A[p...q-1]个A[q...r],一直划分直到每个子数组只有1个元素 归并 对 A[p...q-1]和A[q...r]这两个已排序好的数组进行合并 复杂度 时间复杂度 O(n...

排序_插入排序

排序_插入排序

bingliaolong 5年前 4 0

简述 插入排序思想,假设对数组A[p...r]排序: 维持不变式:设当前排序的元素是 A[q],则保持A[p...q-1]为排好的,A[q]在A[p...q-1]中找到它的位置坐下 复杂度 O(n^2) 原地排序 实现

Java基础_第一篇

Java基础_第一篇

bingliaolong 5年前 0 0

Java特点 面向对象 纯面向对象 万物皆对象 所有的元素都要通过类和对象来访问 分布性 操作分布 在多个不同的主机上布置相关操作 这些主机是网络中的不同成员 数据分布 讲数据存放在多个不同的主机上 这些主机是网络中的不同成员 Java可以拼接URL对象访问网络对象 可移植性 可...

STL_slist

STL_slist

bingliaolong 5年前 5 0

异同 STL list是个双向链表。SGI STL另提供了一个单向列表,叫slist。 slist的迭代器属于单向的Forward iterator,list迭代器是双向的Bidirectional Iterator。 slist功能少点,所耗用的内存小点。 共同点是插入,移除,...

行为型:观察者模式

行为型:观察者模式

bingliaolong 5年前 7 0

概述 建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展。 定...

STL_priority_queue

STL_priority_queue

bingliaolong 5年前 4 0

概述 顾名思义,priority_queue是一个拥有权值观念的queue,它允许加入新元素,移除旧元素、审视元素值等功能 priority_queue带有权值观念,其内的元素并非是依照被推入的次序排列,而是自动依照元素的权值排列。权值最高者,排在前面。 实现 缺省情况下prio...

扫一扫二维码分享