240 发简信
IP属地:湖南
  • 120
    算法导论-1.基础知识

    1. 伪代码 1.1与真码的区别: 伪代码与真码的区别在于,在伪代码中,我们使用最清晰、最简洁的表示方法来说明给定的算法。有时最清晰的表示方法时英语,所以如果你遇到一个英文短...

  • 选择排序

    选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的...

  • 插入排序

    从整个待排序列中选出一个元素插入到已经有序的子序列中去,得到一个有序的、元素加一的子序列,直到整个序列的待插入元素为0,则整个序列全部有序。 在实际的算法中,我们经常选择序列...

  • 9.装饰模式

    原理: 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式, 它是作为现有的类的一个包装。...

  • 8.原型模式

    原理 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了...

  • 7.外观模式

    原理: 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,...

  • 6.模板模式

    原理: 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种...

  • 5.建造者模式

    原理: 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 B...

  • 4.代理模式

    原理 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口...

  • markdown相关

    收录一个官方的markdown新手指南:https://www.jianshu.com/p/q81RER/ 常用语法:1.标题用#,#的数量n为标题n2.引用用>,用来生成如...

  • 3.策略模式

    原理 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个...

  • 2.工厂方法模式

    原理 工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工...

  • 1.简单工厂模式

    原理 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象...

  • 枚举(穷举)算法-火柴棍等式

    规则: 现有n根火柴棍,希望拼出形如A+B=C的等式,等式中的A、B、C均是由火柴棍拼出来的整数(若该数非零,则最高位不能是0),数字0~9的拼法如下所示: 题目: 14根火...

  • 120
    枚举(穷举)算法-炸弹人(初级版)

    规则 用放置炸弹的方法来消灭敌人,,须将画面上的敌人全部消灭后并找到隐藏在墙里的暗门才能过关。游戏图片 题目要求 现有一个特殊关卡,只有一枚炸弹,但是这枚炸弹威力超强(炸弹的...

  • 纸牌游戏-小猫钓鱼

    规则: 星期天小哼和小哈约在一起玩桌游,他们正在玩一个非常古怪的扑克游戏——“小猫钓鱼”。游戏的规则是这样的:将一副扑克牌(牌面为1-9)平均分成两份,每人拿一份。小哼先拿出...

  • 快速排序

    快速排序 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归...

  • 冒泡排序

    冒泡算法 冒泡排序的基本思想是:每次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来 1、从第一个数据开始,与第二个数据相比较,如果第二个数据小于第一个数据,则交换两个...