摘要:
选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序 阅读全文
摘要:
基本冒泡排序 ''' 冒泡排序 比较列表相邻的两个元素,前面>后面,交换位置,一趟比较后,无序列表个数减1,有序列表个数+1 复杂度 O(N^2) ''' import random def bubble_sort(list): for i in range(len(list) - 1): for 阅读全文
摘要:
线性查找 ''' 列表线性查找 线性查找就是从列表起始位置一次查询,直到查询到目标值,或者遍历整个列表完毕才结算查找过程 线性查找复杂度 O(n),比较慢 ''' from call_time import * @call_time def liner_search(list, value): fo 阅读全文
摘要:
参考实现 # 递归 -汉诺塔 def hanoi(n, a, b, c): if n > 0: hanoi(n - 1, a, c, b) print(f'moving from {a} --> {c}') hanoi(n - 1, b, a, c) hanoi(3, 'A', 'B', 'C') 阅读全文
摘要:
题目描述 /** * 两数之和 * https://leetcode.cn/problems/two-sum/ * 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 * 示例 1: * * 输入:num 阅读全文
摘要:
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。 实现思路 如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了, 阅读全文
摘要:
对象的多态性 多态性,是面向对象中最重要的概念,在Java中的体现:对象的多态性:父类的引用指向子类的对象 格式:(父类类型:指子类继承的父类类型,或者实现的接口类型) 父类类型 变量名 = 子类对象; 举例 Person p = new Student(); Object o = new Pers 阅读全文
摘要:
父类的所有方法子类都会继承,但是当某个方法被继承到子类之后,子类觉得父类原来的实现不适合于自己当前的类,该怎么办呢?子类可以对从父类中继承来的方法进行改造,我们称为方法的重写 (override、overwrite)。也称为方法的重置、覆盖。 在程序执行时,子类的方法将覆盖父类的方法。 方法重写举例 阅读全文
摘要:
继承的概述 生活中的继承 财产继承: 绿化:前人栽树,后人乘凉 绿水青山,就是金山银山” 样貌: 继承之外,是不是还可以"进化": 继承有延续(下一代延续上一代的基因、财富)、扩展(下一代和上一代又有所不同)的意思。 Java中的继承 角度一:从上而下 为描述和处理个人信息,定义类Person: 为 阅读全文
摘要:
Acount public class Acount { private double balance; //余额 //带参构造器 public Acount(double initBalance) { this.balance = initBalance; } //查询余额 public doub 阅读全文