
数据结构与算法
风华正茂的小老弟
这个作者很懒,什么都没留下…
展开
-
排序算法:冒泡,选择,插入排序。
前言:将三种排序算法温习了一遍,感觉年纪大了,刚开始还是有点废脑子//冒泡排序:void bubble_sort(int arr[],int size){ for(int i=0; i<size; i++) { bool flag = false; for(int j=0; j<size-i-1; j++) { if(arr[j+1] < arr[j]) {原创 2021-01-26 17:57:25 · 138 阅读 · 0 评论 -
数据结构与算法----链表
链表原创 2020-12-24 17:37:53 · 430 阅读 · 1 评论 -
数据结构-线性表之数组
什么叫数组:数组(Array)是一种线性表数据结构。它是一组连续的内存空间,来存储一组具有相同类型的数据。什么线性表跟非线性表:线性表:通俗一点就是数据像一条线一样排成的结构,线性表上的数据只有前后两个方向,另外像链表,队列,栈等也是线性表的数据结构。非线性表:像二叉树,图,堆等,数据之间不只是前后的关系。数组的特征:...原创 2020-12-21 22:13:27 · 1047 阅读 · 0 评论 -
数据结构与算法之复杂度(2):最好,最坏,平均,均摊复杂度
浅析最好,最坏,平均与均摊时间复杂度先看下面在数组中查找某个数据的代码:int find(int[] array, int n, int x) { int i = 0; int pos = -1; for (; i < n; ++i) { if (array[i] == x) { pos = i; break; } } return pos;}如果数组中第一个元素正好是要查找的变量 x,那就不需要继续遍历剩下的 n-1 个数据了原创 2020-12-18 11:37:29 · 253 阅读 · 0 评论 -
数据结构与算法之复杂度(1):时间与空间
1、什么是复杂度:复杂度分为:时间复杂度(渐进时间复杂度)与空间复杂度(渐进空间复杂度)。时间复杂度:表示算法的执行时间随数据规模增长的变化趋势。空间复杂度:表示算法的存储空间与数据规模之间的增长关系。2、为什么要知道复杂度①。事后统计法:跑一边代码就能得到运行时间和占用内存大小。②。测试环境与数据规模会影响测试结果。③。在不同配置的计算机下测试,得到的测试结果往往不同。在数据规模不大的情况下,插入排序比快速排序快,如果是一组有序的数据,代码执行的时间很短。④。所以在这种情况下,我们往往不原创 2020-12-17 16:55:38 · 182 阅读 · 0 评论