数据类型: 1、可变数据类型:list、dictionary >不可哈希 2、不可变数据类型:元祖、字符串str、bool、int 字典:数据类型中唯一映射数据类型dict,具有键和值的对应关系 其中: key:必须是不可变类型,也就是可哈希 value:任意数据类型 字典使用二分法查找,是储存大量 ...
分类:
其他好文 时间:
2017-12-21 18:14:38
阅读次数:
130
1.hashcode是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有 例如内存中有这样的位置 0 1 2 3 4 5 6 7 而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,那么当查找时就需要到这八个位置里挨个去找,或者用二分 ...
分类:
其他好文 时间:
2017-12-18 19:03:48
阅读次数:
104
二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0。 二分法的步骤为: 检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则 如果f(a)f(b)<0,则计算中点的值f((a+b ...
分类:
其他好文 时间:
2017-12-15 00:45:57
阅读次数:
134
一、递归的定义 二、递归分为两个阶段:递推,回溯 三、python中的递归效率低且没有尾递归优化 四、可以修改递归最大深度 五:递归应用 六、二分法 想从一个按照从小到大排列的数字列表中找到指定的数字,遍历的效率太低,用二分法(算法的一种,算法是解决问题的方法)可以极大低缩小问题规模 1、找某个数字 ...
分类:
编程语言 时间:
2017-12-14 04:27:02
阅读次数:
260
由于上篇 八大排序法,进而联系起二分法排序,所以在这里补充一个比较经典的排序法 二分法排序; 逻辑相对简单,所以直接上代码 package com.sinolife.mtrs.apply.controller; import java.util.Arrays; /** * @author delin ...
分类:
编程语言 时间:
2017-12-13 23:36:35
阅读次数:
108
假设有一个排序的按未知的旋转轴旋转的数组(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。 你可以假设数组中不存在重复的元素。 样例 给出[4, 5, 1, 2, 3]和target=1,返回 ...
分类:
编程语言 时间:
2017-12-13 17:15:54
阅读次数:
183
1 # -*- coding: utf-8 -*- 2 #coding=utf-8 3 import numpy as np 4 import matplotlib.pyplot as plt 5 6 7 8 plt.close() 9 fig = plt.figure() 10 plt.grid(... ...
分类:
其他好文 时间:
2017-12-11 11:19:24
阅读次数:
188
一、PTA实验作业 题目一.简化的插入排序 1.本题PTA提交列表 2. 设计思路(采用二分法进行插入) (1)定义一个数N为数组宽度并输入这个数,定义两个数据分别保留左端和右端的数left=0;right=N 1,和他们的中间数 (2)定义一个数组n[80]。 (3)定义一个循环变量i,for(i ...
分类:
编程语言 时间:
2017-12-03 18:11:46
阅读次数:
154
各类排序算法的时间复杂度 排序算法概述: 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选 ...
分类:
编程语言 时间:
2017-11-28 11:43:16
阅读次数:
161
本实验主要用二分法来查找两个数组中不同的元素 本实验有两个不足: 第一没法知道返回的指针数组的大小,导致用了 这样的表述 第二在子函数中不能用 来求数组的长度 例如: 这样写得出来的A的长度只有1. 欢迎大神赐教,O(∩_∩)O谢谢。 ...
分类:
其他好文 时间:
2017-11-18 19:59:47
阅读次数:
178