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

自己有网站怎么优化北京建设公司网站

自己有网站怎么优化,北京建设公司网站,更改网站模板,网红包装设计师实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度 线性结构#xff1a; 数组#xff1a;是一种线性表数据结构#xff0c;它用一组连续的内存空间#xff0c;来存储一组具有相同类型的数据。 查找数据 #xff1a;随机访问 流程图 /** 查询元素下标…实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度 线性结构 数组是一种线性表数据结构它用一组连续的内存空间来存储一组具有相同类型的数据。 查找数据 随机访问 流程图 /**  查询元素下标*  参数1Array_t数组结构体指针*  参数2元素值*  返回成功返回元素下标失败返回-1*/ int search(struct Array_t *array, int elem){int idx 0;// 遍历数组for (idx 0; idx array-used; idx){// 找到与查询的元素值相同的数组元素则返回元素下标if (array-arr[idx] elem){return idx;}// 如果数组元素大于新元素说明未找到此数组下标, 则提前报错退出// 因为本例子的数组是有序从小到大的if (array-arr[idx] elem){break;}}// 遍历完说明未找到此数组下标则报错退出std::cout ERROR: No search to this elem elem. std::endl;return -1; } 复杂度分析时间和空间 时间复杂度已知索引 O(1)未知索引 O(n) 空间复杂度O(n)。 2.添加数据 流程图 /**  插入新元素*  参数1Array_t数组结构体指针*  参数2新元素的值*  返回成功返回插入的数组下标失败返回-1*/ int insertElem(struct Array_t *array, int elem){// 当数组被占用数大于等于数组长度时说明数组所有下标都已存放数据了无法在进行插入if (array-used array-length){std::cout ERROR: array size is full, cant insert elem elem. std::endl;return -1;}int idx 0;// 遍历数组找到大于新元素elem的下标idxfor (idx 0; idx array-used; idx){// 如果找到数组元素的值大于新元素elem的值则退出if (array-arr[idx] elem){break;}}// 如果插入的下标的位置不是在末尾则需要把idx之后的// 数据依次往后搬移一位空出下标为idx的元素待后续插入if (idx array-used){// 将idx之后的数据依次往后搬移一位memmove(array-arr[idx 1], array-arr[idx], (array-used - idx) * sizeof(int));}// 插入元素array-arr[idx] elem;// 被占用数自增array-used;// 成功返回插入的数组下标return idx; } 复杂度分析 时间复杂度未知索引 O(n) 空间复杂度O(n)。 可以改进 我们的数组是无序的插入一个元素也不在乎顺序也没有指定插入元素的位置那么这时候就可以选择直接插入尾部如果插入元素时指定了一个插入位置如果不关心顺序的话也可以采用一种巧妙的办法来实现 public static void addByElement(int[] arr, int size, int index,int element) {if (null arr || arr.length 0){//数组是否为空return;}if (size arr.length){//确认数组至少有一个空位return;}arr[size] arr[index];//将 index 和有效数组位数的最后一位交换arr[index] element; 这里其实就是直接将需要插入元素的位置上的原有元素放到最后然后再直接插入避免了数组的移动实现了 O(1) 时间复杂度的插入。 3.删除数据 流程图 /**  删除新元素*  参数1Array_t数组结构体指针*  参数2删除元素的数组下标位置*  返回成功返回0失败返回-1*/ int deleteElem(struct Array_t *array, int idx){// 判断下标位置是否合法if (idx 0 || idx array-used){std::cout ERROR:idx[ idx ] not in the range of arrays. std::endl;return -1;}// 将idx下标之后的数据往前搬移一位memmove(array-arr[idx], array-arr[idx 1], (array-used - idx - 1) * sizeof(int));// 数组占用个数减1array-used--;return 0; } 复杂度分析 时间复杂度O(n) 空间复杂度O(n)。
http://www.hkea.cn/news/14429386/

相关文章:

  • 怎么样在网站上做跳转会计专业建设规划
  • 建设分销网站免费seo培训
  • 品牌策划工作内容重庆百度提升优化
  • 做网站需要提供些什么页面自己建的网站百度查找不到
  • 工程网站模板云龙主机 wordpress
  • 如何做自已网站阿里巴巴seo站内优化方法
  • 生成二维码的网站返利网 网站建设费用
  • 海宁网站设计网站专栏建设
  • 大连网页网站制作张家港网站设计优化
  • 菏泽做网站建设找哪家建商城网站带app多少钱
  • 网站建设推广优化岗位说明书大连市住建局官网
  • 公司做网站的开支会计分录怎么做广州最新通知
  • 网站动态页面怎么做攀枝花网站开发
  • 网站建设属于网络还是软件公益事业做网站
  • 企业网站建设总体构架wordpress 外观菜单
  • 长沙电子商务网站建设小程序网站建设制作
  • 网站建设 模版选择中心医院网站asp
  • 备案信息修改网站名称东莞工商注册网站
  • 宜昌 网站建设网站开发设计文档
  • 行业门户网站系统全国最缺工100个职业表
  • 怎么上传文章网站网站建设的项目总结
  • 莱芜企业网站建设公司越秀五屏网站建设
  • 银河盛世网站建设深圳网站建设61916
  • wordpress建站全过程郑州网站制作推广公司
  • 移动网站建设机构广州科 外贸网站建设
  • 程序员代做网站违法桓台县网站建设
  • 什么静态网站容易做公司介绍
  • 专业做网站费用股票场外期权网站开发
  • 公司网站建设需要咨询什么问题设计网站有哪些
  • 怎么注销网站seo如何推广网站