![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
北梧
热爱却又不热爱的
展开
-
“归并排序”
三、归并排序归并排序的基本思想: 将一个数组不断地折半划分,当划分的数组足够小的时候每个区段中只有一个元素,每次比较都会都会使子序列有序,最后合并成原始的有序数列。归并排序是稳定的排序算法。具体的算法实现:MergeSort函数递归实现对原数组的折半划分_Merge函数实现对字序列的排序memcpy函数是c/c++的内存拷贝函数函数原型void *memcpy(void *destin, void *source, unsigned n);参数destin– 指向原创 2020-10-11 17:28:08 · 110 阅读 · 0 评论 -
二分查找和快速排序
一、二分查找二分查找的基本思想: 二分查找就是给定一个已经排序好的数组,输入你想查找的数值,然后对数组进行折半查找,找到直接返回在数组中的位置,否则返回-1。它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。具体实现:1、binarySearch函数传入已经排序好的数组(nums[]),你想查找的目标数值(target),数组的长度(length)2、binarySearch中先设置数组的左右边界left、right,然后求解数组的中间位置m原创 2020-10-10 13:33:30 · 4898 阅读 · 0 评论 -
数据结构和算法-基础篇(一)
1.1 线性表概念 所谓线性表就是将数据排成像一条长线一样的结构,数组、链表、队列、栈都是线性表结构,线性表上的数据最多只有前后两个方向。与这样线性结构相对应的就是非线性结构,比如数组、堆、图等,数据之间并不是简单的前后关系。1.2 数组**(查询快增删慢)**数组的概念: 数组是一种线性表数据结构,用一组连续的内存空间,来存储一组具有相同类型的数据。数组元素的访问:长度为10的数组来举例int[] a = new int[10];//计算机给数组分配了一块连续的空间100-139,原创 2020-10-04 19:30:36 · 180 阅读 · 0 评论