数据结构
文章平均质量分 56
OnlyFeiger
青青子衿,悠悠我心。
展开
-
素数筛算法基础(一)
数组声明与初始化数组就是相同类型一组变量的集合.是变量就会在内存上占用一定的空间大小; int a ; //变量a 占 4个字节(32位); int a[100];// a[100]占 400个连续的空间;求素数(关于数组的算法框架)思路初始化一个数组 , 元素全部标记为 0;用 2 - n 的倍数去标记合数为1, 没有被标记过的数就没有因数,即为素数;优化: 这里我们可以从1 遍历到 根号 n; 因为 列如 9 = 3*3; 一个数的因数是成对存在的,判原创 2021-01-25 21:37:34 · 168 阅读 · 1 评论 -
数组定义与多维数组的传递
数组的定义#include <stdio.h>#define MAX_N 10000000int main() { int arr[MAX_N + 5]; printf("%d\n", arr[0]); return 0;}函数内部定义数组 : 在栈区开辟内存, 栈区的大小只有8MB;因此函数内部的数组大小最大只能定义大概200W个整型的大小;不然就爆栈函数外部定义数组 : 在全局区上申请内存, 且数组每一位自动初始化为0{空};#include &原创 2021-01-25 21:04:37 · 163 阅读 · 0 评论 -
查找算法之折半查找
查找算法之折半查找折半查找算法的思路首先查找的关键字在有序的查找表内, 这是折半查找的前提.(我们假设查找表内元素升序排列)确定查找表中的范围,一般用两个下标来表示范围: left = 0,right = length -1利用给定的关键字和查找表中的中间位置(mid = (left+right)/2)的元素比较,若相等,则查找成功,如待查找的元素比中间的元素大,我们让查找的范围变成中间到尾端(mid+1到right),如查找元素小于中间元素,我们就在头端到中间查找(left到mid-1)...原创 2021-01-05 14:48:30 · 2993 阅读 · 0 评论 -
数据结构线性表(一)
数据结构之线性表(一)线性表是数据结构中最简单且常用的一种结构它由相同的数据类型的n个元素组成的有限序列按照存储结构,可以分为 顺序表和链表两种顺序表主要特点是可以进行随机访问,可以通过表头元素的地址和元素的下标在O(1)的时间复杂度找到指定元素,主要介绍***构造,插入,扩容,查找,删除,遍历***这些操作特点 顺序表是用一组地址连续的储存单元依次存储数据元素,元素在逻辑和物理位置上是相邻的缺点: 插入和删除要移动大量的元素从而保持逻辑和物理上的连续性.构造顺原创 2021-01-05 13:13:49 · 339 阅读 · 0 评论