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

软件网站开发甘肃新网域名证书下载

软件网站开发甘肃,新网域名证书下载,交换链接营销的成功案例,网站备案的意义1.顺序表查找 基本方法#xff1a; 设查找表以一维数组来存储#xff0c;要求在此表中查找出关键字的值为x的元素的位置#xff0c;若查找成功#xff0c;则返回其位置#xff08;即下标#xff09;#xff0c;否则#xff0c;返回一个表示元素不存在的下标#xff0…1.顺序表查找 基本方法 设查找表以一维数组来存储要求在此表中查找出关键字的值为x的元素的位置若查找成功则返回其位置即下标否则返回一个表示元素不存在的下标如0或-1。 1.1简单顺序查找 基本思想 遍历整个顺序表逐个比较如果关键字相等则返回其下标如果没有找到则返回-1。 //从左向右查找 int search (elementtype A[]keytype x) { int i;for(i 0; i n; i) if (A[i].keyx)return(i);return(-1); }//从右向左查找 int search ( elementtype A[]keytype x) {int i;for(i n-1; i 0; i--) if (A[i].key x) return(i);return(i); }//监视哨这里数据存放在下标1~n int search ( elementtype A[]keytype x) {int i n;A[0].keyx;while (A[i].key ! x) i--;return(i); }1.2 二分查找 基本思想 设查找区域的首尾下标分别用变量low和high表示初值分别为0和n-1其中数组的下标从0开始这与简单顺序查找中略有不同将待查关键字x和该区域的中间元素 (其下标mid的值为low和high的算术平均值即(lowhigh)/2) 的关键字进行比较并根据比较的结果分别作如下处理 xA[mid].key:查找成功返回mid的值。xA[mid].key:说明待查元素只可能在左边区域(下标从low到mid-1)因此应在此区域继续查找。xA[mid].key:说明待查元素只可能在右边区域(下标从mid1到high) 因此应在此区域继续查找。 若表中存在所要查找的元素则经过反复执行上述过程可以很快地找到并返回元素下标否则返回-1以表示查找失败。 //首先要把握下面几个要点 //rightn-1 while(left right) rightmiddle-1; //rightn while(left right) rightmiddle; //middle的计算不能写在while循环外否则无法得到更新。 /*! * brief 非递归二分查找 * * param[in] elements存放有序元素的数组 * param[in] key待查找的元素 * param[in] size数组的尺寸 * return 数组中key的下标没有则返回-1 */ templatetypename T int binSearch(T* elements, T key, int size) {int low 0, high size - 1;while (low high) {//计算时避免值溢出int mid low ((high - low) 1);if (elements[mid] key) {high mid - 1;}else if (elements[mid] key) {low mid 1;}else {return mid;}}return -1;}/*! * brief 递归二分查找 * * param[in] elements存放有序元素的数组 * param[in] key待查找的元素 * param[in] low下界 * param[in] high上界 * return 数组中key的下标没有则返回-1 */ templatetypename T int binSearch(T* elements, T key, int low, int high) {//递归终止条件if (low high) {return -1;}else {//计算时避免值溢出int mid low ((high - low) 1);if (elements[mid] key) {return binSearch(elements, key, low, mid - 1);}else if (elements[mid] key) {return binSearch(elements, key, mid 1, high);}else {return mid;}} }1.3 索引表查找 核心思想是块间有序块内无序首先在索引表间查找确定元素所在的块然后在确定的块中查找 块间查找在索引表中查找既可以用简单顺序查找也可以用二分查找块内查找在块内查找只能用顺序查找 1.4 算法分析 查找方法平均查找长度最坏查找长度简单顺序查找(n1)/2n二分查找 l o g 2 ( n 1 ) − 1 log_2(n1)-1 log2​(n1)−1 l o g 2 ( n ) 1 log_2(n)1 log2​(n)1 注二分查找平均查找长度计算过程 2.树表查找 2.1 二叉排序树BST树 定义 二叉排序树是一棵二叉树或者为空或者满足以下条件 若左子树不空则左子树中所有结点的值小于根结点的值若右子树不空则右子树中所有结点的值不小于根结点的值左右子树都为二叉排序树。 /*** 非递归二叉排序树查找* * tparam T* param tree* param x* return*/ templatetypename T NodeT *bstsearch(NodeT *tree, T x) {NodeT *p tree;while (p ! nullptr) {if (p-data x) {return p;}if (x p-data) {p p-lchild;} else {p p-rchild;}}return nullptr; }/*** 递归二叉排序树查找* * tparam T * param tree * param x * return */ templatetypename T NodeT *bstsearch(NodeT *tree, T x) {if (tree nullptr) {return tree;}if (tree-data x) {return tree;}if (x tree-data) {return bstsearch(tree-lchild, x);} else {return bstsearch(tree-rchild, x);} }二叉排序树的构造 核心从空树出发依次插入若干个节点 步骤 若该值小于根结点的值则应往左子树中插入 (递归调用插入算法)。若该值大于等于根结点的值则往右子树中插入递归调用。按此方式递归调用若干次后总可以搜索到一个空子树位置即要插入的位置。 /*** 在树tree中插入节点curNode* * tparam T * param tree * param curNode */ templatetypename T void insert(NodeT *tree, NodeT *curNode) {if (tree nullptr) {tree curNode;return;}if (curNode-data tree-data) {insert(tree-lchild, curNode);} else {insert(tree-rchild, curNode);} }/*** 基于控制台输入创建二叉排序树* * tparam T * param tree */ templatetypename T void create(NodeT *tree) {tree nullptr;int x;cin x;while (x ! 0) {Nodeint* node new Node(x);insert(tree, node);cin x;} }该构造方式的问题是当输入是一个递增或者递减序列时则该树是相当倾斜的即左右子树的深度差距很大 二叉排序树删除结点 删除只能和删除结点不能删除以结点为根的子树且还要保证删除后所得二叉树仍满足二叉排序树的性质不变。 1.被删除的结点是叶子结点直接删去该结点。 2.被删除的结点只有右子树或者只有左子树用其右子树或者左子树替换 3.被删除的结点既有左子树又有右子树找到删除结点的左子树中的最大值将其替换删除结点或者找右子树上最小的结点 2.2 平衡二叉树AVL树 定义 平衡二叉树是一棵二叉排序树或者为空或者满足以下条件 左右子树高度差的绝对值不大于1左右子树都是平衡二叉树。 平衡因子 左子树的高度减去右子树的高度其值为-10或1。 对于一颗有n个结点的AVL树其高度保持在Olog2n数量级平均查找长度ASL也保持在Olog2n量级。 如何构造平衡二叉树 在平衡的二叉排序树中插入一个结点当出现不平衡时根据不平衡情况分四种调整方法 ——假设最低不平衡结点为A根据新插入结点与A的位置关系来命名调整方法 LL型新插入结点在A的左孩子(L)的左子树(L)中 LR型新插入结点在A的左孩子(L)的右子树®中 RL型新插入结点在A的右孩子®的左子树(L)中 RR型新插入结点在A的右孩子®的右子树®中。 2.3 红黑树RBT 红黑树Red-Black Tree也是是一种自平衡的二叉搜索树与AVL树不同的是它在每个结点上增加一个存储位表示结点的颜色可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制红黑树确保没有一条路径会比其他路径长出两倍最长路径也不会超出最短路径的两倍因此红黑树的平衡性要求相对宽松没有AVL树那样严格从而使搜索树达到一种相对平衡的状态。 红黑树具有以下性质 每个结点不是黑色就是红色;根结点必须是黑色的红色结点的两个子结点必须都是黑色的这保证了没有两个连续的红色节点相连每个叶子结点都是黑色的(此处的叶子结点指的是空结点也被称为NIL节点或者NULL节点)任意结点到其每个叶子结点的简单路径上黑色节点的数量相同确保了树的黑平衡性即红黑树中每条路径上黑色结点的数量一致。 所以我们这里来分析一种极端的情况 大家想如果一棵红黑树有红有黑它里面如果有一条全黑的路径那这条全黑的路径一定就是最短路径 如果有一条是一黑一红一黑一红…这样黑红相间的那他就是最长的路径。 然后它们里面的黑色结点个数又是相同的的所以最长路径最多是最短路径的两倍不可能超过最短路径两倍。 所以这样红黑树的高度就能够保持在一个相对平衡的范围内当然他就没有AVL树那么严格 红黑树的插入 红黑树是在二叉搜索树的基础上加上其平衡限制条件因此红黑树的插入可分为两步 按照二叉搜索的树规则插入新节点除了根节点为黑色新插入的节点初始为红色检测新节点插入后红黑树的性质是否造到破坏 因为新节点的默认颜色是红色因此如果其双亲节点的颜色是黑色没有违反红黑树任何性质则不需要调整。但当新插入节点的双亲节点颜色为红色时就违反了性质三不能有连在一起的红色节点此时需要对红黑树进行调整 调整的总体思路是重新着色或者旋转重新着色旋转的思路跟AVL树类似详见 https://zhuanlan.zhihu.com/p/659174741 红黑树的删除 将红黑树内的某一个节点删除需要执行哪些步骤呢 ⑴首先红黑树是一棵二叉查找树按照二叉查找树的节点删除规则删除该节点⑵然后通过旋转和重新着色操作来修正该树的红黑树特性。详细步骤如下 第一步将节点按照二叉查找树的删除规则进行节点删除。 这和“删除常规二叉查找树中的节点方法是一样的”。分3种情况 Ⅰ.被删除节点没有儿子即为叶节点。那么直接将该节点删除就OK了。 Ⅱ.被删除节点只有一个儿子。那么直接删除该节点并用该节点的唯一子节点顶替它的位置。 Ⅲ.被删除节点有两个儿子。那么先找出它的[前驱节点/后继节点]然后把“它的[前驱节点/后继节点]的内容”复制给“该节点”之后删除“它的[前驱节点/后继节点]”。在这里[前驱节点/后继节点]相当于替身在将[前驱节点/后继节点]的内容复制给被删除节点之后再将[前驱节点/后继节点]删除。这样就巧妙的将问题转换为“删除[前驱节点/后继节点]”的情况了下面就考虑[前驱节点/后继节点]。在被删除节点有两个非空子节点的情况下它的[前驱节点/后继节点]不可能是双子非空。既然[前驱节点/后继节点]不可能双子都非空就意味着该节点的[前驱节点/后继节点]要么没有儿子要么只有一个儿子。若没有儿子则按情况Ⅰ进行处理若只有一个儿子则按情况Ⅱ进行处理。 查找效率分析 对于一棵红黑树来说如果它里面全部的黑色结点一共有N个的话那它的最短路径长度就差不多是 l o g 2 ( N ) log_2 (N) log2​(N)。 然后整棵树的节点数量就是在【N2N】之间。 所以最长路径长度就可以认为差不多是 2 l o g 2 ( N ) 2log_2 (N) 2log2​(N) 所以红黑树的查找最少是 l o g 2 ( N ) log_2 (N) log2​(N)次最多是 2 l o g 2 ( N ) 2log_2 (N) 2log2​(N)次所以红黑树查找的时间复杂度是O( l o g 2 N log_2 N log2​N)计算时间复杂度前面的常数项可以省略。 而AVL树也是O( l o g 2 N log_2 N log2​N但AVL树是比较严格的O( l o g 2 N log_2 N log2​N而红黑树是省略了常数项。 所以严格来说红黑树的查找效率是比不上AVL树的但对于计算机来说是没什么差别的但是它们是同一个数量级的都是O( l o g 2 N log_2 N log2​N。 红黑树对比AVL树 由于AVL树要求更加严格的平衡所以在进行插入和删除操作时可能需要更频繁地进行旋转操作来调整树的结构以保持平衡。相比之下红黑树的插入和删除操作需要旋转的次数相对较少因此在插入和删除操作频繁的情况下红黑树可能更加高效。 综合来看红黑树其实更胜一筹红黑树在实际应用中更为常用Java集合中的TreeSet和TreeMapC STL中的set、map以及Linux虚拟内存的管理都是通过红黑树实现的 第二步通过旋转和重新着色操作来修正该树的红黑树特性。 因为第一步中删除节点之后可能会违背红黑树的特性。所以需要通过旋转和重新着色来修正该树使之重新成为一棵红黑树。 2.4 B树 注B树有时候也会写作B-树是一个意思 定义m阶B树(m≥3)满足如下条件 每一个结点分支数≤m;根结点分支数≥2(要求此根结点不为叶子结点)其余分支结点的分支数≥ m/2 所有叶子结点在同一层每一个结点的结构如下 满足 A 0 K 1 A 1 . . . K m A m A_0K_1A_1...K_mA_m A0​K1​A1​...Km​Am​,其中Ai表示其中的所有关键字 插入关键字——插入到叶子结点中 插入后该结点的关键字个数 nm 不修改分支指针;插入后该结点的关键字个数 nm 则需进行“结点分裂”令 s m / 2 m/2 m/2 在原结点中保留 A0K1…… Ks-1As-1 建新结点 AsKs1…… KnAn 将Ksp插入双亲结点p是指向新节点的指针 3若双亲为空则建新的根结点。 删除关键字 在深度为(hl)的m阶B-树中删除一个键值k,首先要查到键值k所在的结点及在结点中的位置。若k在非叶子节点中则把该结点的右边(或左边)指针所指子树中的最小(或最大)键值与k对调使k移到有叶子节点。在叶子节点中删除一个键值后,使得该结点的值个数n减1,此时应分以下三种情况进行处理 a. 若删除后结点中键值数目 n ≥ m / 2 − 1 n≥m/2-1 n≥m/2−1,在该结点中删去键值k连同右边的指针。 b.若删除后结点中键值数目 n m / 2 − 1 nm/2-1 nm/2−1,且左(或右)兄弟结点的关键字数目 m / 2 − 1 m/2-1 m/2−1,则把左(或右)兄弟结点中最大(或最小)键值移到父结点中,再把父结点大于(或小于)上移键值的键值下移到被删关键字所在结点中。 c.若删除后结点中键值数目 n m / 2 − 1 nm/2-1 nm/2−1,及其左、右兄弟结点的键值数目都等于 m / 2 − 1 m/2-1 m/2−1,则就必须进行结点的“合并”,即把应删的键值删去后,将该结点中的剩余键值和指针连同父结点中指向该结点指针的左边(或右边)一个键值ki一起合并到左兄弟(或右兄弟)结点中,将ki从父结点中删去。如果因此使父结点中关键字数目 m / 2 − 1 m/2-1 m/2−1,则对此父结点做同样处理,以致于可能直到对根结点做这样的处理而使整个树减少一层。如果因此使父结点中关键字数目 m / 2 − 1 m/2-1 m/2−1,则对此父结点做同样处理,以致于可能直到对根结点做这样的处理而使整个树减少一层。 2.5 B树 B树是B树的一个升级版相对于B树来说B树更充分的利用了节点的空间让查询速度更加稳定其速度完全接近于二分法查找。为什么说B树查找的效率要比B树更高、更稳定我们先看看两者的区别。 B树是B树的变体也是一种多路搜索树其定义基本与B-树相同除了 1非叶子结点的子树指针与关键字个数相同 2非叶子结点的子树指针P[i]指向关键字值属于[K[i], K[i1])的子树B-树是开区间 3为所有叶子结点增加一个链指针 4所有关键字都在叶子结点出现 B树的搜索与B树也基本相同区别是B树只有达到叶子结点才命中B树可以在非叶子结点命中其性能也等价于在关键字全集做一次二分查找 B树的性质 1.所有关键字都出现在叶子结点的链表中稠密索引且链表中的关键字恰好是有序的 2.不可能在非叶子结点命中 3.非叶子结点相当于是叶子结点的索引稀疏索引叶子结点相当于是存储关键字数据的数据层 4.更适合文件索引系统。 B树比B树更适合操作系统的文件索引和数据库索引的原因 B树的磁盘读写代价更低B树的内部节点没有指向关键字具体信息的指针因此内部节点相对B树更小。如果把所有同一内部节点的关键字放在同一块磁盘中盘块所能容纳的关键字数量也就越多一次性读入内存中的需要查找的关键字也就越多相对IO读写次数降低。 B树的查询效率更加稳定 由于非终结点并不是最终指向文件内容的结点而只是叶子结点中关键字的索引。所以任何关键字的查找必须走一条从根结点到叶子结点的路。所有关键字查询的路径长度相同导致每一个数据的查询效率相当。 所以B树只要遍历叶子节点就可以实现整棵树的遍历支持基于范围的查询而B树不支持range-query这样的操作或者说效率太低。 2.6 B*树 B∗树是B树的变体在B树的非根和非叶子结点再增加指向兄弟的指针将结点的最低利用率从1/2提高到2/3。 B∗树定义了非叶子结点关键字个数至少为2/3M即块的最低使用率为2/3代替B树的1/2 B树的分裂 当一个结点满时分配一个新的结点并将原结点中1/2的数据复制到新结点最后在父结点中增加新结点的指针B树的分裂只影响原结点和父结点而不会影响兄弟结点所以它不需要指向兄弟的指针 B∗树的分裂 当一个结点满时如果它的下一个兄弟结点未满那么将一部分数据移到兄弟结点中再在原结点插入关键字最后修改父结点中兄弟结点的关键字因为兄弟结点的关键字范围改变了如果兄弟也满了则在原结点与兄弟结点之间增加新结点并各复制1/3的数据到新结点最后在父结点增加新结点的指针 所以B∗树分配新结点的概率比B树要低空间使用率更高。 特点 在B树的基础上因其初始化的容量变大使得节点空间使用率更高而又存有兄弟节点的指针可以向兄弟节点转移关键字的特性使得B*树额分解次数变得更少。 2.5 算法分析 查找方法平均查找长度失败查找长度二叉排序树 l o g 2 ( n ) log_2(n) log2​(n)n二叉平衡树 l o g 2 ( n ) log_2(n) log2​(n) l o g 2 ( n ) log_2(n) log2​(n)红黑树 l o g 2 ( n ) log_2(n) log2​(n)$ n x log_2(n)$含义是略差于二叉平衡树但是远远好于二叉排序树B树 ≤ l o g m ( n 1 ) f i n d ( m ) ≤log_m(n1)find(m) ≤logm​(n1)find(m) 1 l o g m / 2 ( ( n 1 ) / 2 ) f i n d ( m ) 1log_{m/2}((n1)/2)find(m) 1logm/2​((n1)/2)find(m) find(m)指的是在m个元素中的查找长度m一般比较小采用顺序查找即可B树 l o g m ( n 1 ) f i n d ( m ) log_m(n1)find(m) logm​(n1)find(m) 1 l o g m / 2 ( ( n 1 ) / 2 ) f i n d ( m ) 1log_{m/2}((n1)/2)find(m) 1logm/2​((n1)/2)find(m) find(m)指的是在m个元素中的查找长度m一般比较小采用顺序查找即可 3.哈希表查找 给定关键字key用一个函数H(key)计算出元素地址由此而得散列表Hash表哈希表 其中函数H(key)称为散列函数 此函数值称为散列地址。 现实中会出现k1≠k2但H(k1)H(k2)的情况称这种现象为冲突现象k1,k2为同义词。 针对冲突——如何解决冲突呢 构造好的散列函数以免冲突减少冲突妥善处理冲突 构造散列函数的基本方法 直接定址法 H(k) k 或者 H(k) akb ab为任意正整数 除留余数法 H(k) k % p 其中p≤m,m为数组规模的最大质数。 平方取中法 例325在平方后取105625中间两位作为它的散列地址。 折叠法 如 身份证号码40104198805061532 先进行分组340 104 198 805 061 532 冲突处理方法 开放地址法 Hi(k)(H(k) di ) % mi1,2,…,q qm 线性探测法Hi(k)(H(k)i)%mm为表的规模最大质数二次探测法Hi(k) ( H(k) i2 ) % m伪随机数Hi(k) ( H(k) random() ) % m 拉链法 将同义词构成一个链表 再散列法 →H(k)→H1(k)→H2(k)→ …… →Hi(k) 散列表的查找 在散列表中查找元素的过程和构造的过程基本一致 对给定关键字k由散列函数H计算出该元素的地址H(k)。 若表中该位置为空则查找失败。否则比较关键字若相等查找成功否则根据构造表时所采用的处理方法找下一个地址直至找到关键字等于k的元素成功或者找到空位置失败为止。 一般在用拉链法构造的表中进行查找比在用线性探测法构造的表中进行查找查找长度要小。 3.1 算法分析 查找方法平均查找长度失败查找长度哈希查找11m (哈希冲突用拉链法处理命中的地址中链表长度为m) 参考 https://www.cnblogs.com/kongxudeshenghuo/p/16174567.html https://zhuanlan.zhihu.com/p/477346381 https://zhuanlan.zhihu.com/p/639905710 https://blog.csdn.net/Jay_fearless/article/details/119454973 https://zhuanlan.zhihu.com/p/659174741 https://zhuanlan.zhihu.com/p/666229978
文章转载自:
http://www.morning.zydr.cn.gov.cn.zydr.cn
http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn
http://www.morning.tlyms.cn.gov.cn.tlyms.cn
http://www.morning.rnqbn.cn.gov.cn.rnqbn.cn
http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn
http://www.morning.rwlns.cn.gov.cn.rwlns.cn
http://www.morning.rcjwl.cn.gov.cn.rcjwl.cn
http://www.morning.wdhlc.cn.gov.cn.wdhlc.cn
http://www.morning.wgdnd.cn.gov.cn.wgdnd.cn
http://www.morning.brscd.cn.gov.cn.brscd.cn
http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn
http://www.morning.bpmdx.cn.gov.cn.bpmdx.cn
http://www.morning.lnrhk.cn.gov.cn.lnrhk.cn
http://www.morning.pmdlk.cn.gov.cn.pmdlk.cn
http://www.morning.mzkn.cn.gov.cn.mzkn.cn
http://www.morning.chzbq.cn.gov.cn.chzbq.cn
http://www.morning.lxctl.cn.gov.cn.lxctl.cn
http://www.morning.dhnqt.cn.gov.cn.dhnqt.cn
http://www.morning.rkypb.cn.gov.cn.rkypb.cn
http://www.morning.rhpy.cn.gov.cn.rhpy.cn
http://www.morning.djpgc.cn.gov.cn.djpgc.cn
http://www.morning.playmi.cn.gov.cn.playmi.cn
http://www.morning.lptjt.cn.gov.cn.lptjt.cn
http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn
http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn
http://www.morning.bfmq.cn.gov.cn.bfmq.cn
http://www.morning.fpxms.cn.gov.cn.fpxms.cn
http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn
http://www.morning.hhpkb.cn.gov.cn.hhpkb.cn
http://www.morning.ywrt.cn.gov.cn.ywrt.cn
http://www.morning.qwdlj.cn.gov.cn.qwdlj.cn
http://www.morning.zrqs.cn.gov.cn.zrqs.cn
http://www.morning.qnzld.cn.gov.cn.qnzld.cn
http://www.morning.grxyx.cn.gov.cn.grxyx.cn
http://www.morning.rkqkb.cn.gov.cn.rkqkb.cn
http://www.morning.hxgly.cn.gov.cn.hxgly.cn
http://www.morning.mqbsm.cn.gov.cn.mqbsm.cn
http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn
http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn
http://www.morning.lwjlj.cn.gov.cn.lwjlj.cn
http://www.morning.mjtft.cn.gov.cn.mjtft.cn
http://www.morning.hphqy.cn.gov.cn.hphqy.cn
http://www.morning.llyqm.cn.gov.cn.llyqm.cn
http://www.morning.wkmyt.cn.gov.cn.wkmyt.cn
http://www.morning.hysqx.cn.gov.cn.hysqx.cn
http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn
http://www.morning.tmfm.cn.gov.cn.tmfm.cn
http://www.morning.qnbsx.cn.gov.cn.qnbsx.cn
http://www.morning.tkchg.cn.gov.cn.tkchg.cn
http://www.morning.rqsnl.cn.gov.cn.rqsnl.cn
http://www.morning.hqrkq.cn.gov.cn.hqrkq.cn
http://www.morning.drhnj.cn.gov.cn.drhnj.cn
http://www.morning.gkjnz.cn.gov.cn.gkjnz.cn
http://www.morning.npfkw.cn.gov.cn.npfkw.cn
http://www.morning.ffksr.cn.gov.cn.ffksr.cn
http://www.morning.zwmjq.cn.gov.cn.zwmjq.cn
http://www.morning.cwknc.cn.gov.cn.cwknc.cn
http://www.morning.wrlcy.cn.gov.cn.wrlcy.cn
http://www.morning.qsmch.cn.gov.cn.qsmch.cn
http://www.morning.gbkkt.cn.gov.cn.gbkkt.cn
http://www.morning.tdldh.cn.gov.cn.tdldh.cn
http://www.morning.yrjkz.cn.gov.cn.yrjkz.cn
http://www.morning.rnrwq.cn.gov.cn.rnrwq.cn
http://www.morning.gkdqt.cn.gov.cn.gkdqt.cn
http://www.morning.rkqzx.cn.gov.cn.rkqzx.cn
http://www.morning.mydgr.cn.gov.cn.mydgr.cn
http://www.morning.npbgj.cn.gov.cn.npbgj.cn
http://www.morning.ygqjn.cn.gov.cn.ygqjn.cn
http://www.morning.ldcrh.cn.gov.cn.ldcrh.cn
http://www.morning.sgpnz.cn.gov.cn.sgpnz.cn
http://www.morning.tlrxp.cn.gov.cn.tlrxp.cn
http://www.morning.dpplr.cn.gov.cn.dpplr.cn
http://www.morning.rmtmk.cn.gov.cn.rmtmk.cn
http://www.morning.yqpzl.cn.gov.cn.yqpzl.cn
http://www.morning.qhnmj.cn.gov.cn.qhnmj.cn
http://www.morning.zxqyd.cn.gov.cn.zxqyd.cn
http://www.morning.wnnlr.cn.gov.cn.wnnlr.cn
http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn
http://www.morning.qyhcm.cn.gov.cn.qyhcm.cn
http://www.morning.ntffl.cn.gov.cn.ntffl.cn
http://www.tj-hxxt.cn/news/270278.html

相关文章:

  • 搭建网站大概多少钱外贸哪家做网站
  • 网站标题字体设计网站标题写什么作用是什么意思
  • 网站推广郑州绵阳做公司网站
  • 智能网站建设哪家效果好购买网站域名
  • 如何韩国视频网站模板下载 迅雷下载网站建设有哪些工作室
  • 招商局网站建设方案网络服务器监控系统
  • 移动网站开发课程设计优质主页格式
  • 网站首页做很多个关键词wordpress自适应相册
  • 南京 百度 网站建设小程序搭建挣钱
  • 做采购常用的几个网站服装购物网站排名
  • 设计公司 网站关于文案的网站
  • 达州建网站公司注册要求
  • wordpress更换网站域名湖北医院网站建设
  • 虚拟主机怎么做网站怎么查网站备案进度
  • 长春网站建设xgsite如何推广视频号
  • 新加坡网站后缀常州做网站基本流程
  • 泉州市建设工程交易网站wordpress主题module
  • 保山公司做网站国外模板wordpress
  • 家具网站后台模板云南营销型网站建设
  • 国家工信部备案网站苏州网站建设哪家更好
  • 铁岭做网站网站建设 备案什么意思
  • 做短视频网站ui培训班学费价格
  • 很多网站的导航条都设置为7到9wordpress文学站
  • 阿里巴巴做网站的电话号码平面设计培训学校一年学费
  • 公证网站建设管理网页设计尺寸大小规范
  • 网站开发创意设计wordpress会话过期
  • 全球网站域名后缀建设企业网站收费
  • 手机建站源码wordpress 404重写
  • 网站设计与制作是做什么工作如何自己做论坛网站
  • 南宁市兴宁区建设局网站河北网站备案手机号码短信核验