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

阿里巴巴做网站需要多少钱博客网站大全

阿里巴巴做网站需要多少钱,博客网站大全,秦皇岛建设局招标网,佛山免费网站建站模板Java数据结构与算法基础(二)递归算法Java数据结构与算法基础(一)概述与线性结构学习目的#xff1a;为了能更顺畅的读很多底层API代码和拓宽解决问题的思路一、数据结构概述1.数据结构是什么#xff1f;数据与数据之间的关系2.数据结构的分类#xff1a;存储结构分类#x…Java数据结构与算法基础(二)递归算法Java数据结构与算法基础(一)概述与线性结构学习目的为了能更顺畅的读很多底层API代码和拓宽解决问题的思路一、数据结构概述1.数据结构是什么数据与数据之间的关系2.数据结构的分类存储结构分类顺序结构和链式结构逻辑结构分类线性结构(除了首位元素其他元素都存在前一元素和后一元素)、集合结构(集合)、树形结构(树结构、文件夹、文件结构)、图形结构(多对多结构)二、算法概述1.算法特性输入(0或多个输入)、输出(一个输出)、有穷性(能出结果)、确定性(一一对应)、可行性(能解决问题)2.算法的基本要求正确性、可读性、健壮性、时间复杂度、空间复杂度3.没有最好的算法只有最适合的算法三、线性结构1.数组的基本概念与操作① 存储结构顺序方式存储② 访问方式数组名[下标]最大下标 arr.length-1;③ 元素默认值 0赋值数组名[下标] value;2.数组创建的时候就要指定长度(即数组长度不可变)问题如何解决数组长度不可变如在数组末尾添加元素解决① 建一个新数组长度 oldArr.length1;② 复制旧数组元素到新数组新数组的末尾元素 新元素;③ oldArr newArr3.数组元素的删除(先告诉我删哪个元素)① 建一个新数组长度 oldArr.length-1;② 复制旧数组元素newArr[i] oldArr[i]; // inewArr[i] oldArr[i1]; // in③ oldArr newArr;4.面向对象的数组属性(一个私有的数组)方法(操作私有属性数组的方法)要点① 长度变化就意味着要建新数组替代旧数组② 传入下标的方法首先都应该判断数组越界的问题5.(数组)查找算法线性查找依次对比元素找到相同元素即break二分法查找① 先排序再查找public static int binarySearch(int [] arr, int target){if (arr null) {return -1;}int begin 0;int end arr.length-1;int mid ((end - begin) 1) begin;while(begin end){if (arr[mid] target) {return mid;}if(arr[mid] target){end mid-1;}else if(arr[mid] target){begin mid1;}mid ((end - begin) 1) begin;}return -1;}6.栈先进后出数组实现入栈(建新数组复制元素新元素放到新数组最后新数组替换对象旧数组属性)、出栈(建新数组复制元素取出最后一个元素新数组替换对象中的旧数组属性返回旧数组的最后一个元素)、查看栈元素(不涉及数组长度变化所以直接返回旧数组的索引对应的值即可)7.队列先进先出数组实现入队、出队、队列是否为空(套路建新数组主要涉及长度、复制元素、替换旧数组操作)8.单链表存储形式链式存储(存当前节点同时存下个节点的位置[最后一个节点除外])Java中单链表的结构Node:int data;Node next;public Node(int data){this.data data;}涉及的操作通过第一个节点进行追加操作① 获取当前节点Node currentNode this;② while(true){获取下一个节点Node next currentNode.next;如果下个节点为null即最后一个节点break;否则currentNode next;}③ 追加节点到末尾currentNode.next node;//入参的Node④ 返回当前节点 return this;判断当前节点是否是最后一个节点判断当前节点的下一个节点是否为空即可☆ 删除单链表的节点取不到上个节点信息(这是问题)所以只能删除下个节点信息① 取到下下个节点② 将下下个节点赋值给当前节点的下个节点显示所有节点信息① 打印当前节点信息② currentNode currentNode.next;如果currentNode null; break;否则重复①~②插入新节点① tempNode currentNode.next;//作为下下个节点② currentNode.next node; //node 为新节点③ node.next tempNode;9.循环链表结构单链表的尾节点的下个节点是头结点LoopNode{int data;LoopNode next this;//默认自身是个循环链表下个节点为其自身插入节点操作和单链表相同}10.双向循环链表结构包含上个节点信息、下个节点信息、当前节点内容DoubleNode{DoubleNode pre this;DoubleNode next this;int data;}主要操作新增节点
http://www.sadfv.cn/news/64406/

相关文章:

  • 盐城网站建设要多少钱岳阳商城网站建设
  • 湖南天辰建设责任公司网站音乐介绍网站怎么做
  • 网站建设和seo的工作好不好网站的建设有什么好处
  • 网站备案公告久久建筑网资料全吗
  • 诚信网站认证必需做吗北京建筑设计公司排行榜
  • 免费网站建设推广服务wordpress read more
  • 网站评价公司网址怎么注册
  • 亳州蒙城网站建设免费小程序制作网站
  • 电商网站规划与建设方案北京网站建设电扬科技
  • 怎样弄微信公众号seo关键词优化外包
  • 公司网站开发费用建设生鲜网站价格
  • 玉环建设规划局网站vue怎么做网站
  • 丹阳火车站对面规划制作论文招聘网站的
  • 域名和网站的关系硬件开发
  • 无锡网站制作工具厉害的网站开发
  • 网站跳到另一个网站怎么做wordpress logo.svg
  • 广州网站建设总结wordpress纯代码
  • 朝阳网站建设开发wordpress 后台管理
  • 电商网站的活动怎么做整合网络营销策划
  • 手机搭建网站工具一地址和二地址
  • 常州做网站的 武进怎么做简单网站
  • 企业网站建设企业有平面广告设计的网站
  • 河间网站制作厦门最好的seo公司
  • 做封面下载网站昆山网站建设培训学校
  • 网站开发的基本知识网站建设费用一年
  • 网站建设都是模板长春整站优化
  • 网站建设合同简单模板做网站前段可以考什么证书
  • 卢松松网站厦门加盟网站建设
  • 网页制作作业网站网站可以称为系统吗
  • 太原市建站外包公司wordpress标题转英文