当前位置: 首页 > wzjs >正文

自己做微信小程序商城北京网站优化步骤

自己做微信小程序商城,北京网站优化步骤,8090在线观看免费观看,网站建设优化哪家好串、数组和广义表 1. 串 1.1 串的定义 串(string)是由零个或多个字符组成的有限序列。一般记为 S a 1 a 2 . . . a n ( n ≥ 0 ) Sa_1a_2...a_n(n\geq0) Sa1​a2​...an​(n≥0) 其中,S是串名,单引号括起来的字符序列是串的值, a i a_i a…

串、数组和广义表

1. 串

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412021944459.png

1.1 串的定义

串(string)是由零个或多个字符组成的有限序列。一般记为

S = a 1 a 2 . . . a n ( n ≥ 0 ) S=a_1a_2...a_n(n\geq0) S=a1a2...an(n0)

其中,S是串名,单引号括起来的字符序列是串的值, a i a_i ai可以是字母、数字或其他字符;串中字符的个数n称为串的长度。n=0时的串称为空串(用表示)。

1.2 串的模式匹配

1.2.1 朴素模式匹配

使用暴力求解的方法,一直遍历,但时间复杂度过高。

int ViolentMatch(string &s, string &t)
{int i = 0, j = 0;while (i < s.size() && j < t.size()){if (s[i] == t[j]){i++;j++;}else{i = i - j + 1;j = 0;}}if (j == t.size())return i - j;elsereturn -1;
}

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412022043282.png

1.2.2 KMP算法

vector<int> make_next(const string &s)
{int i = 0, j = -1;vector<int> next(s.size() + 1, 0); // Initialize the vector with the correct sizenext[0] = -1;                      // Set the first element to -1while (i < s.size()){if (j == -1 || s[i] == s[j]){i++;j++;next[i] = j;}elsej = next[j];}return next;
}
int KMP(const string &s, const string &t)
{int i = 0, j = 0;vector<int> next = make_next(t);while (i < s.size() && j < (int)t.size()){if (j == -1 || s[i] == t[j]) // Fix the logic error here{i++;j++;}elsej = next[j];}if (j == t.size())return i - j;return -1;
}

2. 数组和广义表

2.1 数组

2.1.1 数组的定义

数组是由n(n>1)个相同类型的数据元素构成的有限序列,每个数据元素称为一个数组元素,每个元素在n个线性关系中的序号称为该元素的下标,下标的取值范围称为数组的维界。

数组与线性表的关系:数组是线性表的推广。一维数组可视为一个线性表;二维数组可视为其元素是定长数组的线性表,以此类推。数组一旦被定义,其维数和维界就不再改变。因此,除结构的初始化和销毁外,数组只会有存取元素和修改元素的操作。

2.1.2 数组的存储结构

大多数计算机语言都提供了数组数据类型,逻辑意义上的数组可采用计算机语言中的数组数据类型进行存储,一个数组的所有元素在内存中占用一段连续的存储空间。

以一维数组 A[0…n-1]为例,其存储结构关系式为

L O C ( a i , j ) = L O C ( a 0 , 0 ) + i × L ( 0 ≤ i ≤ n ) LOC(a_{i,j})=LOC(a_{0,0})+i\times L (0\leq i\leq n) LOC(ai,j)=LOC(a0,0)+i×L(0in)

其中L是每个存储单元的大小。

对于多维数组,有两种映射方法:按行优先和按列优先。以二维数组为例,按行优先存储的基本思想是:先行后列,先存储行号较小的元素,行号相等先存储列号较小的元素。设二维数组的行下标与列下标的范围分别为[0, h 1 h_1 h1]与[0, h 2 h_2 h2],则存储结构关系式为

L O C ( a i , j ) = L O C ( a 0 , 0 ) + [ i × ( h 2 + 1 ) + j ) × L LOC(a_{i,j})=LOC(a_{0,0})+[i\times (h_2+1)+j)\times L LOC(ai,j)=LOC(a0,0)+[i×(h2+1)+j)×L

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412022102961.png

2.2 特殊矩阵的压缩存储

压缩存储:指为多个值相同的元素只分配一个存储空间,对零元素不分配空间。

特殊矩阵:指具有许多相同矩阵元素或零元素,并且这些相同矩阵元素或零元素的分布有一定规律性的矩阵。常见的特殊矩阵有对称矩阵、上(下)三角矩阵、对角矩阵等。

特殊矩阵的压缩存储方法:找出特殊矩阵中值相同的矩阵元素的分布规律,把那些呈现规律性分布的、值相同的多个矩阵元素压缩存储到一个存储空间中。

2.2.1 对称矩阵

对于矩阵 A A A元素满足性质 a i , j = a j , i ​ a_{i,j}=a_{j,i}​ ai,j=aj,i,则其为对称矩阵。

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412022108424.png

由于其上三角与下三角元素相同,使用二维数组会浪费空间,故使用一维数组存储来压缩空间。如下图所示,数组下标从0开始。

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412022112698.png

2.2.2 三角矩阵

下三角矩阵:

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412022114196.png

上三角矩阵:

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412022115595.png

2.2.3 三对角矩阵

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412022116892.png

2.2.4 稀疏矩阵

https://cdn.jsdelivr.net/gh/junmoxiao6661/pigo_image@main/202412022119078.png

http://www.dtcms.com/wzjs/462634.html

相关文章:

  • b2c网站开发公司苹果aso优化
  • 佛山做企业网站公司整合营销的案例
  • 建设银行官方网站网页版软件推广怎么赚钱
  • 上海网页制作与网站设计站长之家音效
  • 标准网站优势福州模板建站哪家好
  • 铁岭网站建设网络优化seo标题优化分析范文
  • 在vs中做网站郑州网站建设公司哪家好
  • 哈尔滨软件开发公司排名五年级下册数学优化设计答案
  • 深圳民治网站建设平谷头条新闻
  • 国外jquery网站游戏推广赚佣金
  • 重庆做网站代运营sem优化技巧
  • wordpress主题资源网优化落实疫情防控新十条
  • 青岛网站建设ihuibest产品网络推广方案
  • 做笔记的网站源码谷歌海外广告投放
  • 自己建的网站可以用笔记本做服务器吗企业seo如何优化
  • 网站代码备份seo优化教程自学
  • 广东疫情长沙网站seo公司
  • 深圳专业医疗网站建设做网站建设的公司
  • 韩国网站模板前端seo是什么
  • 网站建设日期如何查询泉州关键词搜索排名
  • 网站查询功能是用什么程序做的手机做网页的软件
  • 网站开发人员绩效如何计算百度大盘指数
  • wordpress cx-udy主题长沙百度快速排名优化
  • 寻找专业网站建设今年疫情最新消息
  • 用bootstrap3做的网站满足seo需求的网站
  • 邢台做网站推广价格今日国内新闻热点
  • 用c做网站佛山seo整站优化
  • 东莞人才招聘信息网络优化seo
  • html网站建设方案广州关键词seo
  • 自己做网站接入微信和支付宝seo排名优化代理