![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 76
开心码农1号
我很懒,我不想添加简介!
展开
-
常见的数据结构
一、数组数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。优点:1、按照索引查询元素速度快2、按照索引遍历数组方便缺点:1、数组的大小固定后就无法扩容了2、数组只能存储一种类型的数据3、添加,删除的操作慢,因为要移动其他的元素。适用场景:频繁查询,对存储空间要求不大,很少增加和删除的情况。go写法:var arr1 [5]string = [5]string{"aa","s"}二、栈...转载 2021-07-14 02:10:19 · 220 阅读 · 0 评论 -
算法思想篇
1、分治算法:字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……分治法在每一层递归上都有三个步骤:分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;合并:将各个子问题的解合并为原转载 2021-07-13 00:45:27 · 100 阅读 · 0 评论 -
常用算法讲解归纳
2、归并排序算法(Merge Sort)是建立在归并操作(归并操作,也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。)上的一种有效,稳定的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。速度仅次于快速排序;归并算法步骤:1.定义合并序列,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列2.设定两个指针,最初位置分别为两个已经排序序列的起始位置3.比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指...原创 2021-07-13 01:45:44 · 610 阅读 · 0 评论 -
排序算法分类
算法与数据结构树树在计算机科学中,是一种十分基础的数据结构。几乎所有操作系统都将文件存放在树状结构中;几乎所有的编译器都要实现一个表达式树;文件压缩所用到的哈夫曼算法(Huffman’s Algorithm)需要用到树状结构;数据库所使用的B+tree则是一种相当复杂的树状结构。二叉树二叉树是n个节点的有限集合,该集合或者为空集,或者由一个根节点和两根互不相交的、分别被称为根节点的左子树和右子树组成。特点:每个节点最多有两个子树,所以二叉树不存在出度大于2的结点左子树和右子树是由顺序的,转载 2021-07-12 01:23:55 · 297 阅读 · 0 评论