arr

js中数组

拈花ヽ惹草 提交于 2020-01-03 21:38:34
  数组:定义 赋值 使用(取值) 遍历 数组方法 字符串方法    定义: var arr=[1,2,3,4,5]; //定义并赋值 var arr=[]; //先定义后赋值 arr[0]=1; //下标 arr[3];             //取值,值是4 数组元素:数组里面的每一个值就是数组元素 数组长度:数组元素的个数 arr.length 数组下标:数组元素在数组中的位置 从 0 开始   一维数组: arr [ 1,2,3,4,5 ]      arr[0]; //1 for(var i=0;i<arr.length;i++){ console.log(arr); }   二维数组:arr[ [1,2,3,4,5],[11,22,33,44,55]]     arr[ 1 ][ 3 ];   //44 for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length;j++){ console.log(arr); } } 来源: https://www.cnblogs.com/zyfeng/p/10530289.html

希尔排序-java

风格不统一 提交于 2020-01-03 13:05:38
插入排序的一种,是缩小增量排序 直接插入排序,在数据比较有序的时候,插入的效率较高。当数据量大且数据不怎么有序的时候,直接插入排序的效率就比较低。 希尔排序就是在直接排序的基础上进行优化。 public static void shellSort(int[] arr) { int len = arr.length; int d; int i, j, k, min; for (d = len / 2; d >= 1; d /= 2) {//确定 for (i = 0; i < d; i++) {//确定有几组数据 for (j = i; j<len; j+=d) {//对分组之后的数据进行插入排序。(注意不是冒泡排序) min=arr[j]; for ( k = j-d; k >=0 ; k-=d) { if(arr[k]>min){ arr[k+d]=arr[k]; }else{ break; } } arr[k+d]=min; } } } } 来源: CSDN 作者: 羽绒333333 链接: https://blog.csdn.net/yurong33333/article/details/103817411

JavaScript实现10大算法可视化

别来无恙 提交于 2020-01-03 05:13:17
本文将详细介绍在JavaScript中算法的用法,配合动图生动形象的让你以最快的方法学习算法的原理以及在需求场景中的用途。 有句话怎么说来着: 雷锋推倒雷峰塔,Java implements JavaScript. 当年,想凭借抱Java大腿火一把而不惜把自己名字给改了的JavaScript(原名LiveScript),如今早已光芒万丈。node JS的出现更是让JavaScript可以前后端通吃。虽然Java依然制霸企业级软件开发领域(C/C + +的大神们不要打我。。。),但在Web的江湖,JavaScript可谓风头无两,坐上了头把交椅。 然而,在传统的计算机算法和数据结构领域,大多数专业教材和书籍的默认语言都是Java或者C/C+ +。这给最近想恶补算法和数据结构知识的我造成了一定困扰,因为我想寻找一本以JavaScript为默认语言的算法书籍。当我了解到O’REILLY家的动物丛书系列里有一本叫做《数据结构与算法JavaScript描述》时,便兴奋的花了两天时间把这本书从头到尾读了一遍。它是一本很好的针对前端开发者们的入门算法书籍,可是,它有一个很大的缺陷,就是里面有很多明显的小错误,明显到就连我这种半路出家的程序猿都能一眼看出来。还有一个问题是,很多重要的算法和数据结构知识并没有在这本书里被提到。这些问题对于作为一个晚期强迫症患者的我来说简直不能忍。于是乎

JavaScript 十种基本算法

一世执手 提交于 2020-01-03 05:02:10
  在传统的计算机算法和数据结构领域,大多数专业教材和书籍的默认语言都是Java或者C/C+ +。当我了解到有一本叫做《数据结构与算法JavaScript描述》时,觉得它是一本很好的针对前端开发者们的入门算法书籍。有一个问题是,很多重要的算法和数据结构知识并没有在这本书里被提到。这些问题对于作为一个晚期强迫症患者的我来说简直不能忍。于是乎,一言不合我就决定自己找资料总结算法。那么,我就从算法领域里最基础的知识点——排序算法总结起好了。 十大经典算法概括图 名词解释:   n:数据规模   k:“桶”的个数   In-place:占用常数内存,不占用额外内存   Out-place:占用额外内存   稳定性:排序后2个相等键值的顺序和排序之前它们的顺序相同 ① 冒泡排序   作为最简单的排序算法之一,冒泡排序给我的感觉就像Abandon在单词书里出现的感觉一样, 每次都在第一页第一位 ,所以最熟悉。冒泡排序还有一种优化算法,就是立一个flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种改进对于提升性能来说并没有什么太大作用。 演示图   JavaScript代码实现  function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j

Python中NumPy基础使用

白昼怎懂夜的黑 提交于 2020-01-03 02:27:54
Python发展至今,已经有越来越多的人使用python进行科学技术,NumPY是python中的一款高性能科学计算和数据分析的基础包。 ndarray ndarray(以下简称数组)是numpy的数组对象,需要注意的是,它是同构的,也就是说其中的所有元素必须是相同的类型。其中每个数组都有一个shape和dtype。 shape既是数组的形状,比如 1 import numpy as np 2 from numpy.random import randn 3 4 arr = randn(12).reshape(3, 4) 5 6 arr 7 8 [[ 0.98655235 1.20830283 -0.72135183 0.40292924] 9 [-0.05059849 -0.02714873 -0.62775486 0.83222997] 10 [-0.84826071 -0.29484606 -0.76984902 0.09025059]] 11 12 arr.shape 13 (3, 4) 其中(3, 4)即代表arr是3行4列的数组,其中dtype为float64 一下函数可以用来创建数组 array   将输入数据转换为ndarray,类型可制定也可默认 asarray   将输入转换为ndarray arange 类似内置range ones、ones_like  

numpy模块介绍

回眸只為那壹抹淺笑 提交于 2020-01-03 02:25:26
import numpy as np np.array([1,2,3]) array([1, 2, 3]) np.array([[1,2,3],[4,5,6]]) array([[1, 2, 3], [4, 5, 6]]) arr = np.array([[1,2,3],[4,5,6],[7,8,9]]) arr array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 把它给看成一个矩阵,或者看成一个ndarray数组的话,我们去获取他的形状. arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) arr.shape (4, 3) arr.shape[0] print(arr.shape[0]) 20 arr.shape[1] 3 切割矩阵 arr = np.array([1,2,3]) arr arr[:] array([1, 2, 3]) arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) arr array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12]]) arr[:,:] array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12]])

day07:二维数组_面向对象

守給你的承諾、 提交于 2020-01-02 23:57:28
今日学习内容罗列: 一、二维数组 1、二维数组的概念: 二维数组的元素就是一个一维数组,以及一维数组对应的长度 2、定义格式: 1)动态初始化 格式1: 数据类型[][] 数组名称 = new 数据类型[m][n] ; (推荐第一种) 数据类型 数组名称[][] = new 数据类型[m][n] ; 举例: int[][] arr = new int[3][2] ; 解释: 等号左边: int:表示一个int类型 [][]:表示定义二维数组 arr :数组名称 等号右边: new :在堆内存中创建对象 int :创建int类型数组 [3] :表示当前二维数组中有3个一维数组 [2] :这三个一维数组中每一个都有2个元素 格式2: 数据类型[][] 数组名称 =new 数据类型[m][] ; 举例: int[][] arr = new int[3][] ; 当前二维数组中有m个一维数组,但是没有给定每一个一维数组的长度,长度可以动态给定! 2)静态初始化 基本格式: 数据类型[][] 数组名称 = new 数据类型[][]{{元素1,元素2..},{元素1,元素2...},{元素1,元素2...}...} ; 简写格式 数据类型[][] 数组名称 = {{元素1,元素2..},{元素1,元素2...},{元素1,元素2...}...} ; 举例: int[][] arr = {{1

Python综合应用:教你用字符打印一张怀旧风格的照片

你。 提交于 2020-01-02 21:40:30
1. 前言 第一次在学校机房里见到计算机,还是上古时期。计算机型号大概是LASER-310吧,有点记不清了。那会儿,显示器还是单色的,只能显示文本,每行最多显示80个字符。想看图片,印象中只能用针式打印机打印在两侧穿孔的宽行打印纸上,每个像素用一个字符表示,不同的字符代表不同的灰度,就像下图这个样子。有没有感觉到浓郁古风呢?其实,随便一张照片,十几行Python代码,你也可以打印出这样的效果,还可以保存成文件。下面,我就一步一步地演示一下。 2. 打开图片,转为灰度模式 Python用于图像处理的模块有很多,最常用的当属PIL和PyOpenCV了。本案使用PIL模块来打开图像: 1 >>> from PIL import Image 2 >>> im = Image.open('xufive.jpg') 3 >>> im.size 4 (979, 1248) 5 >>> im.mode 6 'RGB' im就是打开的图像对象,im.size是图像的分辨率,im.mode是图像模式。我们知道,计算机图像有很多种颜色模式,RGB是最常见的彩色图像模式。打印字符图片的话,需要将RGB模式转为灰度模式: 1 >>> im = im.convert('L') 2 >>> im.mode 3 'L' 3. 改变分辨率 打印字符图片,需要考虑显示器每行显示的字符个数。假定屏幕水平分辨率为1920

夯实Java基础(五)

不想你离开。 提交于 2020-01-02 07:58:00
文章目录 一、数组创建与使用 1、创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100 2、实现一个方法 printArray, 以数组为参数, 循环访问数组中的每个元素, 打印每个元素的值. 3、实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 , 并设置到对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6} 4、实现一个方法 sum, 以数组为参数, 求数组所有元素之和. 5、实现一个方法 avg, 以数组为参数, 求数组中所有元素的平均值(注意方法的返回值类型). 二、数组练习 1、实现一个方法 toString, 把一个整型数组转换成字符串. 例如数组 {1, 2, 3} , 返回的字符串为 "[1, 2, 3]", 注意 逗号 的位置和数量. 2、实现一个方法 copyOf, 对一个整型数组进行拷贝, 得到一个新的数组. 3、给定一个有序整型数组, 实现二分查找 4、给定一个整型数组, 判定数组是否有序 5、给定一个整型数组, 实现冒泡排序(升序排序) 一、数组创建与使用 1、创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100 int [ ] arr = new int [ 100 ] ; for ( int i = 1

Python-数据分析模块

爷,独闯天下 提交于 2020-01-01 16:15:44
目录 numpy 模块 matplotlib 模块 pandas 模块 numpy 模块 numpy 模块主要用来做数据分析,对numpy数组 进行科学运算 主要方法和常用属性,都是用numpy 生成的对象 . 出来的 import numpy as np 属性 描述 T 数组的转置,行和列一一对应,重构,每行2个元素 dtype 数组元素的数据类型(int32 和 float64) size 数组元素的个数 ndim 数组的维数 shape 数组的维度大小(有几行几列) astype 数据类型转换 常用方法 描述 元素切分 [:,:] 表示行和列 逻辑取值 取出用numpy生成的数组对象 > 4的元素 赋值 取出用numpy生成的数组对象的索引值 = 0 数组横向合并 行和行合并,列和列合并 数组垂直合并 相当于list update,直接添加元素 数组函数 描述 np.array() 将列表转换为数组,可选择是否制定dtype np.ones() 传入行数和列数,值都为1 np.zeros() 传入行数和列数,值都为0 np.eye() 输入行数和列数,对角值为1 np.arange() 和列表的range方法一样,支持浮点数 np.linspace() 类似arange(),第三个参数为数组长度 np.empty() 创建一个元素全随机的数组 np.reshape()