![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构和算法
掌握基础的数据结构及基本的算法
Mickyn
计算机没有黑魔法,坚持可掌握所有细节
展开
-
数据结构-数组
`package com.company.arrays;import java.util.Arrays;public class ArraysTest1 { /** * 数组:通过连续的存储空间,存储相同类型元素的集合 * 1.数组定义 * int[] arrs; * String strs[];不推荐使用 * 2.初始化 * 静态初始化: * a.int arrs[] = new.原创 2021-12-06 03:16:24 · 371 阅读 · 0 评论 -
一孩半问题
import randomi=0N=1000000 #让这么多的人去生boys=0girls=0while i<N: child1=random.randint(0,1) if 1==child1: #是男孩,则男孩数量+1 boys=boys+1 else: girls=girls+1 #女孩则女孩...原创 2019-05-26 17:47:39 · 804 阅读 · 0 评论 -
输入三个整数,输出数值处于中间大的整数
x = int(input())y = int(input())z = int(input())if x > y :#比较x,y, (x,y) = (y,x)#交换变量if x > z : (x, z) = (z, x)if y > z : (y, z) = (z, y)print(y)...原创 2019-05-26 17:51:26 · 5672 阅读 · 0 评论 -
给定一个n,计算1-n之间偶数数字的和(不包括n)
#给定一个n,计算1-n之间偶数数字的和(不包括n)n=int(input())sum1=0i=0while i<n: if i%2==0:#取模取余 sum1+=i i+=1print(sum1)原创 2019-05-26 17:54:29 · 6188 阅读 · 0 评论 -
汉诺塔(HQnoi Tower)python实现(记步数)
汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。规则:1.每次只移动一个盘子 2.大盘不可压小盘 (1)用递归解决汉诺塔问题 边界条件:if(n=1);x(...原创 2019-05-27 14:49:36 · 3902 阅读 · 0 评论 -
算法常用技巧
哨兵位:常用在线性表的处理过程中,比如查找和移动数据操作两个作用:一个是作为一个临时存储空间使用,另一个是减少不必要的越界判断,简化算法代码复杂度巧用数组下标取余的用法:取余运算最常用的方法就是判断一个数能否被另一个数整除。余运算基本上还是一个除法运算,如果仅仅是判断奇偶数,判断(number & 1)是否等于 0 是更好的方法。一重循环遍历二维数组:一重循...原创 2019-06-26 17:45:47 · 194 阅读 · 0 评论 -
读算法图解总结(1)
常见的大O运行时间O(log n),也叫对数时间,这样的算法包括二分查找。O(n),也叫线性时间,这样的算法包括简单查找。O(n * log n),这样的算法包括快速排序——一种速度较快的排序算法。O(n^2),这样的算法包括选择排序——一种速度较慢的排序算法。O(n!),这样的算法包括旅行商问题的解决方案——一种非常慢的算法。二分查找假设要在字典中找一个以O打头的单词,你将从中...原创 2019-06-28 23:41:51 · 194 阅读 · 0 评论 -
数组合并
“指针”是编程语言中的一个对象,它存储着一个内存空间的地址,计算机可以通过这个地址找到变量的值。特定的地址指向特定的值。指针的最大的优点在于它可以有效利用零碎的内存空间。Python中的数组也叫列表,为了方便理解统一称为数组。代码示例:用指针合并两个有序数组arr1 = [1,3,4,6,10]arr2 = [2,6,4,11] #初始化两个数组ind = ...原创 2019-07-22 19:53:09 · 117 阅读 · 0 评论