- 博客(5)
- 收藏
- 关注
原创 Day5 在数组的指定位置插入元素
不调用API在数组的指定位置插入元素首先明白两个概念向量数组数组数组中的元素 A[i]A[i]A[i] 的物理地址可以通过公式$ A + i*s $ 推导出来,显然这是线性的存储结构,因此被称作:线性数组。向量邓工总结:向量是数组的进一步抽象,里面的元素类型不再只是基本的数据类型,可以是定制的数据类型。个人理解,向量就是一些更复杂的基本单位组成的数组在明白这两个基本概念之后,再来理解题目中的插入操作插入操作在位置为r的地方,插入元素e,用一句话概括为e在秩为r的地方插入,原后
2020-12-25 16:31:33 869
原创 Day4 Hailstone
Hailstone序列问题Hailstone 序列问题是一个著名的数学问题,至今还未证明其正确与否。即任何一个正整数N,如果其是偶数就除以二,如果其是奇数就乘以3再加上1,最后这个数经过有限次的计算都会变为1。其表达式如下Hailstone(n)={{1},if n equal 1{n}⋃{n2},if n is even{n}⋃{3n+1},if n is oddHailstone(n) = \begin{c
2020-12-22 09:57:41 215
原创 Day3 什么是算法
什么是算法?程序和算法的区别算法的理解数学角度算法是对于一个问题,对于输入经过有限次的运算组合后,得到最优解的过程。计算机角度算法是对于输入问题,通过一系列的计算机操作指令组合,得到一个符合预期输出结果的方法算法的特点有始有终一个算法必须是既有输入又有输出的正确性算法需要在输入之后得到一个满足预期的输出结果有限性算法的操作次数是有限的,即在有限次的操作后一定会得到一个符合预期的结果鲁棒性一个算法能够接受所有可能的输入,而得到一个符合要求的输出易用性
2020-12-21 20:05:42 96
原创 Day2 选择排序
Day 2 算法题:写出选择排序参考下面的几幅图,红色表示当前找到的未排序序列中的最小值,绿色表示当前被比较的元素:又找到一个更小的值2,重新标记它为红色:一轮比较后,找到最小值2并标记为黄色,表示就位,继续在未排序序列中寻找最小值:算法思路从开头开始取一个元素与剩下的元素进行比较,只要有比其小的就放到交换位置放到开头再从剩余的元素中继续找到最小值,放到开头每一次循环比较后都会得到一个最小值def selec_sort(our_list): n = len(our_list
2020-12-20 16:02:09 78
原创 Day1 冒泡算法 (1)
Bubble Sort 背后的想法非常简单,我们查看数组中相邻的成对元素,一次查看一对。如果第一个元素大于第二个元素,则交换它们的位置,否则将它们继续移动。def bubble_sort(our_list): for i in range(len(our_list)-1): if our_list[i] > our_list[i+1]: our_list[i], our_list[i+1] = our_list[i+1], our_list[i]
2020-12-20 15:57:00 90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人