06.02

1.稀疏矩阵的压缩存储方法
  对于稀疏矩阵来说,如果我们还是用100×100的方式来存储的话,显然是非常浪费的,因此我们可以采用一种稀疏矩阵的压缩存储方式,即三元组方式。三元组方式存储数据的策略是只存储非零元素。但是稀疏矩阵中非零元素的分布是没有任何规律的,在这种情况下,存储方案是:
(1)存储非零元素
(2)同时存储该非零元素所对应的行下标和列下标
(3)稀疏矩阵中的每一个非零元素需由一个三元组(i, j, aij),三元组中的i就是行下标,j是列下标,aij是对应的元素的值。

2.double*array[]表示:array是一个数组,数组的每一个元素是指向双精度实型数据的指针。
指针数组( * stings[] ):可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型,在32位系统中,指针占四个字节。
数组指针( (*strings)[] ):可以说成是”数组的指针”,首先这个变量是一个指针,其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。

3。二维数组中,行优先比列优先快。因为计算机有个硬件叫做 cache,行遍历会造成cache更高的命中率,从而提高性能,二维数组在计算机中按行存储。

4.slice(参数1,参数2);从已有的数组中返回选定的元素(数组单元的截取).
b=a.slice();无参数时,新建一个数组,将a 拷贝。此时b!=a
splice():
(1).删除任意数量的项,只需要传入两个参数即可。要删除的第一项的位置和要删除的项数

        var str = [];
        str[0] = "red";
        str[1] = "yellow";
        str[2] = "black";
        str[3] = "lime";
        str[4] = "pink";
        str[5] = "gary";
        var con = str.splice(1,1);      //删除第二项
		console.log(str);   //["red", "black", "lime", "pink", "gary"]
		console.log(con);   //["yellow"]

(2)添加:可以向指定位置添加任意的项,只需要提供三个参数即可:起始位置,0(要删除的项数)和要添加的项。如果要添加多项可以继续在后面写参数用逗号分隔。

		var con = str.splice(1,0,"orange","blue");      //从位置1开始推入1项
		console.log(str);   // ["red", "orange", "blue", "black", "lime", "pink", "gary"]
		console.log(con);   // []

a.splice()方法始终会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,那么将会返回一个空数组。
b.注意 该方法和slice()是不一样的,splice()会修改原数组中的项。
c.如果参数写的是负数那么把原本的数组输出出来,不做操作。
concat() 方法:要连接的字符串。
b=a.concat();无参数时,新建一个数组,将a 拷贝。此时b!=a.

4.((a+1)+2):
*(a+1)表示第二行的首地址,和a[1]一样
*(a+1)+2表示第二行的第三个数字的地址
(a+1)+2)表示第二行第三个数字的值

你可能感兴趣的:(刷题,Java,笔记)