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

数字创意设计包括哪些案例免费优化网站建设

数字创意设计包括哪些案例,免费优化网站建设,thinkphp 网站开发,做网页的网站叫什么软件桶排序#xff0c;排序总结 3.1堆3.1.1堆结构3.1.1.1完全二叉树3.1.1.2堆分为大根堆和小根堆3.1.1.2.1案例1-去掉最大数字#xff0c;使剩下的数字依然是大根堆3.1.1.2.2案例23.1.1.2.3案例33.1.1.2.4案例4-方便制造大根堆方法 3.1.2堆排序3.1.2.1案例-堆排序的扩展3.1.2.1.1… 桶排序排序总结 3.1堆3.1.1堆结构3.1.1.1完全二叉树3.1.1.2堆分为大根堆和小根堆3.1.1.2.1案例1-去掉最大数字使剩下的数字依然是大根堆3.1.1.2.2案例23.1.1.2.3案例33.1.1.2.4案例4-方便制造大根堆方法 3.1.2堆排序3.1.2.1案例-堆排序的扩展3.1.2.1.1扩容3.1.2.1.2※使用系统提供的堆结构 3.2比较器的使用3.3不基于比较的排序3.3.1基数排序3.3.1.1基数排序 例13.3.1.2代码原理例2 3.4排序总结3.4.1排序算法的稳定性3.4.1.1选择排序的稳定性3.4.1.2冒泡排序的稳定性3.4.1.3插入排序的稳定性3.4.1.4快排的稳定性3.4.1.5堆排的稳定性3.4.1.6计数排序与基数排序的稳定性 3.4.2总结3.4.3工程上对排序的改进 3.1堆 堆在逻辑概念上是完全二叉树结构堆分为大根堆和小根堆 3.1.1堆结构 堆结构就是用数组实现的完全二叉树 完全二叉树中如果每颗子树的最大值都在顶部就是大根堆 完全二叉树中如果每颗子树的最小值都在顶部就是小根堆 堆结构的heapInsert与heapify操作 堆结构的增大和减小 优先级队列结构就是堆结构 3.1.1.1完全二叉树 完全二叉树是满二叉树或者从左往右依次变来的树 完全二叉树有1个节点高度为1 完全二叉树有23个节点高度为2 完全二叉树有4567个节点高度为3 完全二叉树有n个节点高度为logn,O(logN) 满二叉树一个点是满二叉树一个点下有两个点是满二叉树一个点下两个点的下一个或各有两个点也叫满二叉树 左往右依次变来的树 但是下图不是左往右依次变来的树 由值构成的完全二叉树 由下标构成 size7 i位置的左孩子为2* i1 i位置的右孩子为2* i2 i位置的父为(i-1)/2 在知道size的情况下通过上方就可以找到了 3.1.1.2堆分为大根堆和小根堆 大根堆每一个节点为头的子树子树上最大值为头节点 以6为头的树最大值是6以5为头的树最大值是5……这个二叉树为大根堆 小根堆每一个节点为头的子树子树上最小值为头节点 怎么把数组连续触发的一段搞成一个堆 创建一个空的数组 heapsize0代表数组中从0出发的连续的0个数是堆 导入5放在0位置上heapsize1现在是大根堆 导入3放在heapsize1位置上heapsize2现在是大根堆 导入6放在heapsize2位置上heapsize3不是大根堆需要调整用上述公式找到父和父5比较比父大则交换现在是大根堆 导入7放在heapsize3位置上heapsize4不是大根堆需要调整用上述公式找到父和父3比较比父大则交换用上述公式找到父和父6比较比父大则交换 导入7放在heapsize4位置上heapsize5不是大根堆需要调整用上述公式找到父和父6比较比父大则交换用上述公式找到父和父7比较等于是大根堆 如此可保证树必定是大根堆叫heapinsert过程 找出刚才输入的最大数字在0位置 3.1.1.2.1案例1-去掉最大数字使剩下的数字依然是大根堆 去掉最大数字使剩下的数字依然是大根堆怎么做 把已经形成的堆结构的最后一个数字放在0位置上把heapsize减小1 用头节点看两个孩子的最大值选最大值替换循环此操作知道两孩子没有比父值大的或者没有孩子时停止 #includeiostream #includealgorithm void heapify(int arr[], int index, int heapSize) {int left index * 2 1;//左孩子的下标int largest;while (left heapSize)//左孩子是否越界(左孩子下标比右孩子下标小可以判断有没有孩子){int largest left 1 heapSize arr[left 1] arr[left] ? left 1 : left;//两个孩子中谁的值大把下标给largest//如果有右孩子同时右孩子值大于左孩子的值largest就是右孩子下标//父和孩子之间谁的值大把下标给largestlargest arr[largest] arr[index] ? largest: index;if (largest index)//父大则退出循环{break;}std::swap(arr[largest], arr[index]);index largest;left index * 2 1;}}int main() {int arr[9] { 5, 3, 6, 8, 2, 4, 7, 9, 1 };for (int i 9 / 2 - 1; i 0; i--) { // 从最后一个非叶子节点开始向前构建大根堆heapify(arr, i, 9);}for (int i 0; i 9; i) {std::cout arr[i] ;}std::cout std::endl;std::system(pause);return 0; }3.1.1.2.2案例2 创建一个堆有效区域是0到heapsize-1i位置数变为怎么在i改变为后依然让这片有效区域为大根堆 分析 i变大往上调整 i变小往下调整 时间复杂度O(logN) 3.1.1.2.3案例3 删掉最大值并让剩下的数重新调整成堆时间复杂度是多少 先让数组整体变为大根堆 heapsize0 让0位置到0位置变为大根堆heapsize1 让0到1范围变为大根堆5和3交换heapsize2 让0到2范围变为大根堆9和5交换heapsize3 让0到3范围变为大根堆不动heapsize4 让0到4范围变为大根堆6和4交换heapsize5 让0到5范围变为大根堆7和5交换heapsize6 让0到6范围变为大根堆不动heapsize7 9673450 0位置和6位置交换变为0673459heapsize6把最后的位置和堆断掉联系怎么让其依旧为大根堆 0选一个较大的孩子和7交换 7603459 0和5交换 7653409为什么9没动因为heapsize6 继续让0和7交换heapsize57被隐藏怎么让其依旧为大根堆 0选一个较大的孩子和6交换 6053479 0选一个较大的孩子和4交换 6453079 继续让0和6交换heapsize46被隐藏怎么让其依旧为大根堆 0选一个较大的孩子和5交换 5403679 继续让0和5交换heapsize33被隐藏怎么让其依旧为大根堆 0选一个较大的孩子和5交换 5403679 让0和4交换heapsize25被隐藏为大根堆 heapsize1 0453679 这段代码未完成 #includeiostream #includealgorithmvoid heapInsert(int arr[], int index); void heapify(int arr[], int index, int heapSize);void heapSort(int arr[], int size) {if (arr NULL || size 2){return;}for (int i 0; i size; i)//O(N){heapInsert(arr, i);//O(logN)}int heapSize size;std::swap(arr[0], arr[--heapSize]);while (heapSize 0)//O(N){heapify(arr, 0, heapSize);//O(logN)std::swap(arr[0], arr[--heapSize]);//O(1)} }void heapInsert(int arr[], int index) {while (arr[index] arr[(index - 1) / 2]){std::swap(arr[index], arr[(index - 1) / 2]);index (index - 1) / 2;} }void heapify(int arr[], int index, int heapSize) {int left index * 2 1;//左孩子的下标int largest;while (left heapSize)//左孩子是否越界(左孩子下标比右孩子下标小可以判断有没有孩子){largest left 1 heapSize arr[left 1] arr[left] ? left 1 : left;//两个孩子中谁的值大把下标给largest//如果有右孩子同时右孩子值大于左孩子的值largest就是右孩子下标//父和孩子之间谁的值大把下标给largestlargest arr[largest] arr[index] ? largest : index;if (largest index)//父大则退出循环{break;}std::swap(arr[largest], arr[index]);index largest;left index * 2 1;}}int main() {int arr[] { 5, 3, 6, 8, 2, 4, 7, 9, 1 };int size sizeof(arr) / sizeof(arr[0]);heapSort(arr, size);for (int i 0; i size; i){std::cout arr[i] ;}std::cout std::endl;return 0; } 3.1.1.2.4案例4-方便制造大根堆方法 直接放入全部节点而不是一个一个插入时 可以从最后一个孩子的父出发做大根堆 依次从最下端的父出发做大根堆 最后一层树做完从倒数第二层树的父出发做大根堆 时间复杂度 数组中有N个数最底层节点也叫叶节点有多少个N/2个 倒数第二层节点N/4个 倒数第三层节点N/8个 所以时间复杂度 T(N)N/22N/43N/84N/165N/32…… 2T(N)N/22N/23N/44N/85N/16…… T(N)N/2N/4N/8N/5*N/32…… #includeiostream #includealgorithmvoid heapInsert(int arr[], int index); void heapify(int arr[], int index, int heapSize);void heapSort(int arr[], int size) {if (arr NULL || size 2){return;}/* for (int i 0; i size; i)//让整个数组变成大根堆的话用此方法{heapInsert(arr, i);}*/for (int i size - 1; i 0; i--)//修改的代码相比上述注释代码快了一点{heapify(arr, i, size);}int heapSize size;std::swap(arr[0], arr[--heapSize]);while (heapSize 0)//O(N){heapify(arr, 0, heapSize);//O(logN)std::swap(arr[0], arr[--heapSize]);//O(1)} }void heapInsert(int arr[], int index) {while (arr[index] arr[(index - 1) / 2]){std::swap(arr[index], arr[(index - 1) / 2]);index (index - 1) / 2;} }void heapify(int arr[], int index, int heapSize) {int left index * 2 1;//左孩子的下标int smallest;while (left heapSize)//左孩子是否越界(左孩子下标比右孩子下标小可以判断有没有孩子){smallest left 1 heapSize arr[left 1] arr[left] ? left 1 : left;//两个孩子中谁的值大把下标给largest//如果有右孩子同时右孩子值大于左孩子的值largest就是右孩子下标//父和孩子之间谁的值大把下标给largestsmallest arr[smallest] arr[index] ? smallest : index;if (smallest index)//父大则退出循环{break;}std::swap(arr[smallest], arr[index]);index smallest;left index * 2 1;}}int main() {int arr[] { 5, 3, 6, 8, 2, 4, 7, 9, 1 };int size sizeof(arr) / sizeof(arr[0]);heapSort(arr, size);for (int i 0; i size; i){std::cout arr[i] ;}std::cout std::endl;return 0; } 3.1.2堆排序 3.1.2.1案例-堆排序的扩展 已知一个几乎有序的数组几乎有序是指如果把数组排好顺序的话每个元素移动的距离可以不超过k并且k相对与数组来说比较小。 请选择一个合适的排序算法针对这个数据进行排序 设k6准备一个小根堆 遍历前七个数 0123456放到小根堆内小根堆的最小值放在0位置 7放到小根堆内小根堆的最小值放在1位置 8放到小根堆内小根堆的最小值放在2位置 ………… 数组临近结束时小根堆依次弹出最小值放到数组 所以时间复杂度O(N*logk) 3.1.2.1.1扩容 一直添加变量的话需要 扩容100变200200变400单词扩容的时间复杂度O(N) 假设加了N个数扩容的次数为logN次每一次扩容为O(N)水平整体代价为O(NlogN)单位平均扩容代价O(NlogN)/NO(logN) 3.1.2.1.2※使用系统提供的堆结构 需注意系统提供的堆结构类似于黑盒只用程序员给它一个数add黑盒传出一个数poll 不支持更改一个堆结构内的数使其重新用低代价再次变为堆结构他会扫描所有才能操作而手写的是支持的※有需求时候用手写堆没需求用自带堆更方便 3.2比较器的使用 比较器的实质就是重载比较运算符 比较器可以很好的应用在特殊标准的排序上 比较器可以很好的应用在根据特殊标准的结构上 如果返回负数认为第一个参数应该放在上面 如果返回正数认为第二个参数应该放在前面 如果返回0认为谁放前面都行 在类中三个元素工号姓名年龄排大小时由大到小排序需要自行设定用哪个元素排序本质是c中的重载比较运算符 怎么做出大根堆的比较器第二个参数减第一个参数即可 3.3不基于比较的排序 例一个数组内均为员工年龄0~200 建立一个201的数组0位置代表0岁的员工多少个 1位置代表1岁的员工多少个 2位置代表2岁的员工多少个 3位置代表3岁的员工多少个 ………… 遍历老数组 发现0岁的时候新数组0位置 发现1岁的时候新数组1位置 ………… 时间复杂度O(N) 如果老数组位-2999~2999则需要创建的新数组太多了太麻烦 所以不基于比较的排序 是根据数据状况做的排序没有基于比较排序的应用范围广 3.3.1基数排序 3.3.1.1基数排序 例1 本例目的从小到大排序 [17132510072] 先看最大数字几位3位 所以都补成3位 [017013025100072] 准备是个容器也可称为桶 桶的结构可以是数组、队列、栈、都可以 本题中桶的结构是队列 准备0到9号桶 根据个位数放在对应桶中 把桶中的数字依次倒出来先进先出 根据十位数放在对应桶中 把桶中的数字依次倒出来 根据百位数放在对应桶中 把桶中的数字依次倒出来 依然根数据状况有关因为次排序和进制有关 3.3.1.2代码原理例2 [013,021,011,052,062] count代表个位比下标个数小与等于的个数所以下标1有2个下标2有224个下标3有145个…… 从右往左遍历数组为什么从右往左遍历因为这样等同于先出桶 062在下标2处2对应的为4所以写入新数组4-13位置2位置count变为3 052在下标2处2对应的为3所以写入新数组3-12位置2位置count变为2 011在下标1处1对应的为2所以写入新数组2-11位置1位置count变为1 021在下标1处1对应的为1所以写入新数组1-10位置1位置count变为0 013在下标3处3对应的为5所以写入新数组5-14位置3位置count变为4 3.4排序总结 3.4.1排序算法的稳定性 同样的个体之间如果不因为排序而改变相对次序就是这个排序是具有稳定性的否则就没有 不具备稳定性的排序 选择排序、快速排序、堆排序 具备稳定性的排序 冒泡排序、插入排序、归并排序、一切桶排序思想下的排序 目前没有找到时间复杂度O(N*logN),额外空间复杂度O(1)又稳定的排序 稳定性值相同的元素排序之后能否保证原来的相对次序不变 [2,1,2,1,3,2,3,2] [1,1,2,2,2,2,3,3] 原数组的第一个1和第二个1位置在新数组中的顺序是不是还是同样的前后关系 稳定性的好处 数个班级学生按年龄从小到大排序 再次按班级排序如果是算法稳定的则再每个班级的桶中年龄依旧从小到大 在实际使用中有很多好处比如商品先价钱排序再好评率排序即可得出物美价廉的商品 3.4.1.1选择排序的稳定性 不具备稳定性 [3,3,3,3,1,3,3,3,3,3,3,3] 1和第一个3做交换所以第一个3和其他3的次序发生了改变 3.4.1.2冒泡排序的稳定性 具备稳定性 [6,5,4,5,3,4,6] 0,1,2,3,4,5,6 第一个6一直交换到下标为5处同等大小时不交换和同种元素第二个6位次不变继续也是如此所以稳定 因为同等大小时不交换所以具有稳定性也可以同等大小时交换这是就不具备稳定性了所以说可以实现稳定性 3.4.1.3插入排序的稳定性 具备稳定性 [3,2,2-------] 0~0有序3 0~1有序第一个2和3排序交换第一个2和第二个2位次不变 0~2有序第二个2和3排序交换第一个2和第二个2位次不变 因此具备稳定性 3.4.1.4快排的稳定性 不具备稳定性 1.0 不具备稳定性 [6,7,6,6,3] 以5作为划分值 6766都大于5 5和3对比5大则3和0位置的6交换 第一个6和第二三个6的次序打乱 则不具备稳定性 2.0 不具备稳定性 [5,5,5,3,6,7] 以5作为划分值 0,1,2下标位置都为5相同不动 5和3比较3和0下标的数5交换则第一个5和其他同样元素5次序打乱 则不具备稳定性 3.4.1.5堆排的稳定性 不具备稳定性 [5,4,4,6] 形成大根堆时6需要与第一个4交换则第一个4和其他同样元素4次序打乱 则不具备稳定性 3.4.1.6计数排序与基数排序的稳定性 具备稳定性 3.4.2总结 一般用的都是快排对空间复杂度有要求时使用堆排需要稳定性时使用堆排 问题 基于比较的排序时间复杂度能否做到O(NlogN)以下 目前没有不行 时间复杂度O(NlogN)时空间复杂度做到O(N)以下还能做到稳定性 目前没有不行 常见的坑 1归并排序的额外空间复杂度可以变成O(1)可以但是非常难不需要掌握有兴趣可以搜“归并排序内部缓存法”变完O(1)会丧失稳定性 2“原地归并排序”的帖子都是垃圾会让归并排序的时间复杂度变成0(N2) 3快速排序可以做到稳定性问题但是非常难不需要掌握 可以搜“01stable sort”,达到时会使空间复杂度变为O(N) 4所有的改进都不重要因为目前没有找到时间复杂度0(N*logN)额外空间复杂度0(1)又稳定的排序。 5有一道题目是奇数放在数组左边偶数放在数组右边还要求原始的相对次序不变碰到这个问题可以怼面试官 经典快排的partion做不到稳定性又是01标准 奇偶问题和快排01标准是一种策略让面试官叫你这道论文级的题 3.4.3工程上对排序的改进 充分利用O(N*logN和O(N2)排序各自的优势 稳定性的考虑
文章转载自:
http://www.morning.gynls.cn.gov.cn.gynls.cn
http://www.morning.pbtdr.cn.gov.cn.pbtdr.cn
http://www.morning.wmdbn.cn.gov.cn.wmdbn.cn
http://www.morning.ftznb.cn.gov.cn.ftznb.cn
http://www.morning.qcbhb.cn.gov.cn.qcbhb.cn
http://www.morning.lwygd.cn.gov.cn.lwygd.cn
http://www.morning.bkcnq.cn.gov.cn.bkcnq.cn
http://www.morning.smzr.cn.gov.cn.smzr.cn
http://www.morning.bgzgq.cn.gov.cn.bgzgq.cn
http://www.morning.gjlst.cn.gov.cn.gjlst.cn
http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn
http://www.morning.bgqr.cn.gov.cn.bgqr.cn
http://www.morning.fnrkh.cn.gov.cn.fnrkh.cn
http://www.morning.jnvivi.com.gov.cn.jnvivi.com
http://www.morning.ryxdr.cn.gov.cn.ryxdr.cn
http://www.morning.nldsd.cn.gov.cn.nldsd.cn
http://www.morning.rywr.cn.gov.cn.rywr.cn
http://www.morning.lcwhn.cn.gov.cn.lcwhn.cn
http://www.morning.qbxdt.cn.gov.cn.qbxdt.cn
http://www.morning.qgjxt.cn.gov.cn.qgjxt.cn
http://www.morning.xcdph.cn.gov.cn.xcdph.cn
http://www.morning.sfwcx.cn.gov.cn.sfwcx.cn
http://www.morning.ytrbq.cn.gov.cn.ytrbq.cn
http://www.morning.wqpm.cn.gov.cn.wqpm.cn
http://www.morning.lmdkn.cn.gov.cn.lmdkn.cn
http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn
http://www.morning.kmqjx.cn.gov.cn.kmqjx.cn
http://www.morning.fxjnn.cn.gov.cn.fxjnn.cn
http://www.morning.ygrkg.cn.gov.cn.ygrkg.cn
http://www.morning.thwhn.cn.gov.cn.thwhn.cn
http://www.morning.cgstn.cn.gov.cn.cgstn.cn
http://www.morning.jsmyw.cn.gov.cn.jsmyw.cn
http://www.morning.rgwz.cn.gov.cn.rgwz.cn
http://www.morning.ybgpk.cn.gov.cn.ybgpk.cn
http://www.morning.wqpb.cn.gov.cn.wqpb.cn
http://www.morning.lwzgn.cn.gov.cn.lwzgn.cn
http://www.morning.pcbfl.cn.gov.cn.pcbfl.cn
http://www.morning.tbcfj.cn.gov.cn.tbcfj.cn
http://www.morning.lcxdm.cn.gov.cn.lcxdm.cn
http://www.morning.pcgmw.cn.gov.cn.pcgmw.cn
http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn
http://www.morning.nzhzt.cn.gov.cn.nzhzt.cn
http://www.morning.wtdyq.cn.gov.cn.wtdyq.cn
http://www.morning.wqgr.cn.gov.cn.wqgr.cn
http://www.morning.dtgjt.cn.gov.cn.dtgjt.cn
http://www.morning.ljxxl.cn.gov.cn.ljxxl.cn
http://www.morning.qgxnw.cn.gov.cn.qgxnw.cn
http://www.morning.clxpp.cn.gov.cn.clxpp.cn
http://www.morning.hpprx.cn.gov.cn.hpprx.cn
http://www.morning.jlboyuan.cn.gov.cn.jlboyuan.cn
http://www.morning.rdzlh.cn.gov.cn.rdzlh.cn
http://www.morning.lkxzb.cn.gov.cn.lkxzb.cn
http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn
http://www.morning.rlwgn.cn.gov.cn.rlwgn.cn
http://www.morning.nclps.cn.gov.cn.nclps.cn
http://www.morning.wptrm.cn.gov.cn.wptrm.cn
http://www.morning.gqcd.cn.gov.cn.gqcd.cn
http://www.morning.khtjn.cn.gov.cn.khtjn.cn
http://www.morning.qmbtn.cn.gov.cn.qmbtn.cn
http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn
http://www.morning.hhxwr.cn.gov.cn.hhxwr.cn
http://www.morning.kqxwm.cn.gov.cn.kqxwm.cn
http://www.morning.fnlnp.cn.gov.cn.fnlnp.cn
http://www.morning.hxlpm.cn.gov.cn.hxlpm.cn
http://www.morning.gfkb.cn.gov.cn.gfkb.cn
http://www.morning.rysmn.cn.gov.cn.rysmn.cn
http://www.morning.qrqcr.cn.gov.cn.qrqcr.cn
http://www.morning.kgtyj.cn.gov.cn.kgtyj.cn
http://www.morning.hbhnh.cn.gov.cn.hbhnh.cn
http://www.morning.rflcy.cn.gov.cn.rflcy.cn
http://www.morning.sjli222.cn.gov.cn.sjli222.cn
http://www.morning.hhskr.cn.gov.cn.hhskr.cn
http://www.morning.nmlpp.cn.gov.cn.nmlpp.cn
http://www.morning.huayaosteel.cn.gov.cn.huayaosteel.cn
http://www.morning.kgmkl.cn.gov.cn.kgmkl.cn
http://www.morning.xclgf.cn.gov.cn.xclgf.cn
http://www.morning.lflsq.cn.gov.cn.lflsq.cn
http://www.morning.wpwyx.cn.gov.cn.wpwyx.cn
http://www.morning.ttcmdsg.cn.gov.cn.ttcmdsg.cn
http://www.morning.mlmwl.cn.gov.cn.mlmwl.cn
http://www.tj-hxxt.cn/news/280697.html

相关文章:

  • 做网站的有哪些公司搞个平台要花多少钱
  • 搭建网站一条龙qq注册账号免费申请
  • 长沙建站公司四川住房和城乡建设厅官方网站
  • h5 网站模板北京注册公司要多少钱才能注册
  • 建设网站简单的需要多少天网站公司广州
  • 罗湖网站建设价格seo优化收费
  • 做网站和易语言wordpress导航仿制
  • 可以免费网络推广网站wordpress自动采集手动写
  • 开淘宝店要自己做网站吗单纯python能完成网站开发吗
  • 视频网站的广告能怎么做电商网站运营方案
  • 建设网站如何盈利汕头市建设局造价信息网站
  • 云南省交通投资建设集团有限公司网站工具类网站开发
  • 企业网站建设教程视频江苏建设信息官网网站
  • 网站打不开 域名做解析用别人的公司名字做网站
  • 网站seo优化免费重庆企业网站制作
  • 高端网站建设 上海西安百度推广网站建设
  • 企业网站维护建设项目实践报告文创产品设计方案ppt
  • 绵阳市建设厅官方网站wordpress数据库编码选择
  • 北京网站建设公司招聘优秀产品vi设计手册
  • 网站建站如何给网站添加统计代码
  • 建设网站程序网站春节放假
  • 东莞网站建设 光龙wordpress媒体文档
  • 锦州市做网站上网用哪家公司的比较好
  • 网站程序如何制作网络推广公司哪个好
  • 网站导航栏特效asp动态链接生成网站地图
  • 行业内做网站的公司排名安卓开发自学教程
  • 外包做网站需要多少钱西安新闻头条最新消息
  • 有经验的盐城网站开发工作不好找怎么办
  • 旅游政务网站建设小程序制作公司开发
  • 如何查看网站服务器类型网站二维码怎么做的