门户网站开发方案网络营销的具体方法

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

门户网站开发方案,网络营销的具体方法,手机如何建设网站首页,河西网站建设优化seo1、数据结构三要素#xff1f; 逻辑结构、物理结构、数据运算 2、数组和链表的区别#xff1f; 数组的特点#xff1a; 数组是将元素在内存中连续存放#xff0c;由于每个元素占用内存相同#xff0c;可以通过下标迅速访问数组中任何元素。数组的插入数据和删除数据效率低… 1、数据结构三要素 逻辑结构、物理结构、数据运算 2、数组和链表的区别 数组的特点 数组是将元素在内存中连续存放由于每个元素占用内存相同可以通过下标迅速访问数组中任何元素。数组的插入数据和删除数据效率低插入数据时这个位置后面的数据在内存中都要向后移。删除数据时这个数据后面的数据都要往前移动。但数组的随机读取效率很高。因为数组是连续的知道每一个数据的内存地址可以直接找到给地址的数据。如果应用需要快速访问数据很少或不插入和删除元素就应该用数组。数组需要预留空间在使用前要先申请占内存的大小可能会浪费内存空间。并且数组不利于扩展数组定义的空间不够时要重新定义数组。链表的特点 链表中的元素在内存中不是顺序存储的而是通过存在元素中的指针联系到一起。比如上一个元素有个指针指到下一个元素以此类推直到最后一个元素。如果要访问链表中一个元素需要从第一个元素开始一直找到需要的元素位置。但是增加和删除一个元素对于链表数据结构就非常简单了只要修改元素中的指针就可以了。如果应用需要经常插入和删除元素你就需要用链表数据结构了。不指定大小扩展方便。链表大小不用定义数据随意增删。数组的优点随机访问性强查找速度快。数组的缺点:  插入和删除效率低可能浪费内存内存空间要求高必须有足够的连续内存空间数组大小固定不能动态拓展。链表的优点:  插入删除速度快内存利用率高不会浪费内存大小没有固定拓展很灵活。链表的缺点: 不能随机查找必须从第一个开始遍历查找效率低。 3、排序有哪些分类 稳定的排序算法冒泡排序、插入排序、归并排序和基数排序 不是稳定的排序算法选择排序、快速排序、希尔排序、堆排序 比较排序冒泡排序、快速排序、归并排序 非比较排序基数排序、基数排序、桶排序 内部排序插入排序、归并排序、选择排序、交换排序、计数排序、桶排序、基数排序 外部排序暂时不知 4、冒泡排序Bubble Sort 算法步骤 从第一个元素开始比较相邻的两个元素。如果前一个元素比后一个元素大如果是升序排序的话则交换它们的位置。对每一对相邻元素做同样的工作从开始第一对到结尾的最后一对。这步做完后最后的元素会是最大的数。针对所有的元素重复以上的步骤除了最后一个。持续每次对越来越少的元素重复上面的步骤直到没有任何一对数字需要比较。 5、插入排序Insertion Sort 算法步骤 从第一个元素开始该元素可以认为已经被排序。取出下一个元素在已经排序的元素序列中从后向前扫描。如果该元素已排序大于新元素将该元素移到下一位置。重复步骤3直到找到已排序的元素小于或者等于新元素的位置。将新元素插入到该位置后。重复步骤2~5直到所有元素均排序完毕。 6、希尔排序Shell Sort 算法步骤 选择增量序列首先需要选择一个增量序列t1t2…tk其中ti tj, tk 1。这个序列的选择对希尔排序的性能至关重要。常用的增量序列有Hibbard增量序列、Sedgewick增量序列等。分组与预排序按照当前的增量ti将待排序序列分割成若干长度为m的子序列分别对各子表进行直接插入排序。此时整个序列是“基本有序”的。逐步缩小增量并重复排序每排序完一次子序列即增量为ti的一趟排序后更新增量为ti-1并重复步骤2进行下一趟排序直到增量减小到1。此时整个序列已经基本有序可以对整个序列进行一次直接插入排序得到最终排序结果。 7、选择排序Selection Sort 算法步骤 遍历待排序序列设立一个指针初始指向序列的第一个元素。从当前指针位置开始依次与后面的元素比较找到最小或最大的元素并记录其位置。将找到的最小或最大元素与当前指针位置的元素进行交换。将指针向后移动一位重复步骤2和步骤3直到指针移动到序列的倒数第二个元素。此时最后一个元素已经是序列中的最大或最小元素排序完成。 8、快速排序Quick Sort 算法步骤 从序列中选取一个元素作为基准pivot。将序列中小于基准的元素放在基准的左边大于基准的元素放在基准的右边。这个操作称为分区partition操作完成后基准元素处于序列的中间位置。此时该基准元素在排序后的最终位置已经确定。递归地对基准左边和右边的两个子序列进行快速排序。 9、归并排序Merge Sort 算法步骤 分解将待排序的序列划分为若干个长度为1的子序列每个子序列自然有序。递归进行归并递归地将相邻的子序列两两归并得到若干个有序的较长子序列直到最终合并为一个完整的有序序列。 10、堆排序Heap Sort 算法步骤 建堆将无序序列构造成一个大顶堆或小顶堆。此时整个序列的最大值或最小值就是堆顶的根节点。堆调整将堆顶元素与末尾元素进行交换此时末尾就为最大值。然后将剩余n-1个序列重新构造成一个堆这样会得到n个元素中的次大值。如此反复执行便能得到一个有序序列了。 11、计数排序Counting Sort 首先扫描待排序数组确定数组的最大值和最小值 然后建立一个与最大值和最小值范围相对应的计数数组并统计每个元素出现的次数 最后根据计数数组的信息将待排序数组中的元素放到正确的位置上。 12、桶排序Bucket Sort 确定桶的数量和大小首先需要确定桶的数量以及每个桶的大小范围。桶的数量可以基于待排序数组的长度和数据分布来决定。每个桶的大小范围则是根据数据的最大值和最小值来划分的。分配数据到桶中遍历待排序数组根据每个元素的值将其放入对应的桶中。这个过程需要根据桶的大小范围来判定每个元素应该放入哪个桶。桶内排序对每个桶内的元素进行排序。这里可以使用其他排序算法如插入排序、归并排序或快速排序等对桶内的元素进行进一步的排序。合并桶中的数据最后按照桶的顺序将桶内的元素依次合并起来形成最终的排序结果。 13、基数排序Radix Sort 确定最大位数首先需要找到待排序数组中的最大值确定其位数。这将决定需要进行多少轮排序。从最低位开始排序基数排序从最低位个位开始对数组进行排序。在每一轮排序中可以使用稳定的排序算法如计数排序或桶排序对相应位上的数字进行排序。逐渐向高位排序完成最低位的排序后继续向更高位十位、百位等进行排序。每一轮排序都会根据当前位的数字值对数组进行重排。合并排序结果经过多轮排序后数组中的元素将按照从最低位到最高位的顺序排列。由于每一轮排序都是稳定的所以最终得到的数组将是一个有序数组。 14、数组和链表的区别 从逻辑结构上来看数组必须实现定于固定的长度不能适应数据动态增减的情况即数组的大小一旦定义就不能改变。当数据增加是可能超过原先定义的元素的个数当数据减少时造成内存浪费链表动态进行存储分配可以适应数据动态地增减的情况且可以方便地插入、删除数据项。 从内存存储的角度看数组从栈中分配空间用new则在堆上创建对程序员方便快速但是自由度小链表从堆中分配空间自由度大但是申请管理比较麻烦。 从访问方式类看数组在内存中是连续的存储因此可以利用下标索引进行访问链表是链式存储结构在访问元素时候只能够通过线性方式由前到后顺序的访问所以访问效率比数组要低。 15、线性表的存储结构 线性表存储结构可细分为顺序存储结构和链式存储结构 顺序存储结构将数据依次存储在连续的整块物理空间中这种存储结构称为顺序存储结构简称顺序表 链式存储结构数据分散的存储在物理空间中通过一根线保存着它们之间的逻辑关系这种存储结构称为链式存储结构简称链表 16、头指针和头节点 头结点 定义在单链表的开始结点之前设立的一个节点称为头结点。数据域可以不存储任何信息也可以存储链表长度等附加信息。指针域存储指向第一个结点的指针。作用 方便链表操作如插入、删除元素等。减少代码量因为通过头结点可以更容易地处理链表的各种操作特别是当需要操作第一个结点时。使得链表的某些操作如遍历、查找等更为统一和简洁。 头指针 定义指向链表第一个结点的指针。作用 具有标识作用通常用头指针来命名链表。提供链表的访问入口通过头指针可以访问链表的第一个节点进而遍历整个链表。 17、栈stack和队列queue的区别 访问规则栈是一种后进先出LIFOLast In First Out的数据结构即最后一个被添加到栈中的元素总是第一个被移出。而队列则是一种先进先出FIFOFirst In First Out的数据结构即队列中第一个被添加的元素总是第一个被移出。操作方式栈的主要操作包括压栈push向栈顶添加元素和弹栈pop从栈顶移除元素。而队列的主要操作则包括入队enqueue在队列尾部添加元素和出队dequeue从队列头部移除元素。使用场景由于栈的后进先出特性它常被用于实现函数调用和递归等场景因为这些操作通常需要后创建的对象先处理。而队列的先进先出特性则使其在需要按特定顺序处理元素的场景中非常有用如打印任务、网络数据包处理等。数据结构栈通常使用数组或链表来实现。在数组实现中栈底通常在数组的起始位置栈顶在数组的末尾而在链表实现中栈顶的元素位于链表的头部。队列也可以使用数组或链表来实现但在数组实现中通常需要一个额外的变量来记录队列的头部和尾部位置在链表实现中队列的头部和尾部可以通过链表的头部和尾部节点来追踪。 18、什么是二叉树平衡二叉树 看这个二叉树知识点最详细最全讲解-CSDN博客 19、如何唯一确定一棵二叉树 中序 先序/后序/层序 20、图的存储方式有哪些每一种方式优缺点 21、树的存储结构 22、图的遍历和树的遍历方式都是什么 23、图的遍历与树的遍历有什么区别 24、关键路径和关键活动是什么 25、什么叫平衡二叉树 26、什么叫搜索二叉树 27、什么叫红黑树 28、数据结构的4种逻辑结构各有什么特点 1集合结构结构中的数据元素之间除了同属于一种类型外无其他关系。 2线性结构结构中的数据元素之间存在一对一的关系。 3树形结构结构中的数据元素之间存在一对多的关系。 4图状结构或网状结构:结构中的数据元素之间存在多对多的关系。 29、数据结构中的存储结构有哪几种各有什么有优缺点 30、什么是数据结构C语言、数据结构、算法以及程序之间的关系是什么 数据结构是指所有数据元素以及数据元素之间的关系可以看作是相互之间存在着某种特定关系的集合因此可以我们将数据结构看成是带结构的数据元素的集合。此外在通常情况下选择合适的数据结构可以带来提高运行效率或者存储效率。 数据结构、算法以及程序之间的关系是数据结构 算法 程序。 算法不一定要求能够在计算机上直接运行但程序必须要求能在计算机中运行。C语言只是对算法或者数据结构的描述描述数据结构和算法不局限于C语言也可以是C语言和其他的计算机语言甚至也可以用人的自然语言。 31、常见数据结构 数组 栈队列链表图树前缀树哈希 32、解决哈希冲突的方法 哈希表Hash table也叫散列表是根据关键码值(Key value)而直接进行访问的数据结构。 1 线性探测法 2 平方探测法 3 伪随机序列法 4 拉链法 33、什么是KMP算法 在一个字符串中查找是否包含目标的匹配字符串。其主要思想是每趟比较过程让子串先后滑动一个合适的位置。当发生不匹配的情况时不是右移一位而是移动当前匹配的长度– 当前匹配子串的部分匹配值位。 34、什么是B树 根据B类树的特点构造一个多阶的B类树然后在尽量多的在结点上存储相关的信息保证层数尽量的少以便后面我们可以更快的找到信息磁盘的I/O操作也少一些而且B类树是平衡树每个结点到叶子结点的高度都是相同这也保证了每个查询是稳定的。 B树和B树的区别以一个m阶树为例。 关键字的数量不同B树中分支结点有m个关键字其叶子结点也有m个其关键字只是起到了一个索引的作用但是B树虽然也有m个子结点但是其只拥有m-1个关键字。存储的位置不同B树中的数据都存储在叶子结点上也就是其所有叶子结点的数据组合起来就是完整的数据但是B树的数据存储在每一个结点中并不仅仅存储在叶子结点上。分支结点的构造不同B树的分支结点仅仅存储着关键字信息和儿子的指针这里的指针指的是磁盘块的偏移量也就是说内部结点仅仅包含着索引信息。查询不同B树在找到具体的数值以后则结束而B树则需要通过索引找到叶子结点中的数据才结束也就是说B树的搜索过程中走了一条从根结点到叶子结点的路径。 感谢博主线性表的存储结构详解_为什么在线性表中结点所占存储量和结构本身所占存储量是一样的-CSDN博客 感谢博主https://xgqngu.blog.csdn.net/article/details/112134686 感谢博主数据结构常见面试题一网打尽_数据结构面试题-CSDN博客 感谢博主数据结构面试题史上最全基础面试题精心整理100家互联网企业面经 - 知乎 感谢博主数据结构面试常见问题总结-CSDN博客