- 博客(21)
- 收藏
- 关注
原创 队列
队列的基本概念 定义 队列(Queue)。队列简称队。是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。其操作特性为先进先出(First In First Out,FIFO),并且只允许在队尾进,队头出。 队头(Front):允许删除的一端,又称队首 队尾(Rear):允许插入的一端 空队列:不包含任何元素的空表 队列的基本操作 1)InitQueue(&Q):初始化队列,构造一个空队列Q 2)Queu
2021-10-27 19:16:56 255
原创 栈的括号匹配
假设表达式中包含三种括号:圆括号、方括号和花括号,并且它们可以任意嵌套。例如{()[{}]}或[{()}([])]等为正确格式,而{[}()]或[({)]为不正确的格式。那么怎么检测表达式是否正确呢?这个问题可以用“期待的急迫程度”这个概念来描述。对表达式中的每一个左括号都期待一个相应的右括号与之匹配,表达式中越迟出现并且没有得到匹配的左括号期待匹配的程度越高。不是期待出现的右括号则是不正确的。它具有天然的后进先出的特点。于是我们可以设计算法:算法需要一个栈,在读入字符的过程中,如果是左括号,则直接入栈
2021-10-27 19:15:29 497
原创 栈解决迷宫问题
这种解决思路类似DFS,从起点开始向前走,每走一步,就向四周探寻可走方向,如果找到一个可走方向,首先“保存现场”(将走向的是哪一个方向保存下来),再向找到的方向走一步,重复上述过程。同时对走过的路上做一个标记,防止形成死循环。如果发现走到了死胡同,四周都无路可走,则回退到上一步,“恢复现场”(从保存的方向开始,看下一个方向是否可走),如果还是死胡同,再回退。若回退到起点(栈已经pop到没有元素了),则无解。如果走着走着发现走到了终点,则找到了迷宫的一个解,此时将栈内元素依次出栈,并存储到一个数组内,再逆
2021-10-27 19:13:59 1341
原创 栈
线性结构的两种常见应用之一栈定义:一种可以实现”先进后出”的存储结构,栈类似于箱子分类:静态栈、动态栈算法:出栈、压栈 栈的定义:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈的逻辑定义、特点及运算:栈是限定在表的一端进行插入和删除的
2021-10-27 19:11:50 100
原创 数据结构之双向链表
和单向链表相比有以下优势:插入删除不需要移动元素外,可以原地插入删除并且可以双向遍历。初始化+尾插法图示://head始终指向头结点,p指向尾节点,方便后续算法使用
2021-10-22 21:48:17 87 1
原创 数据结构之单循环链表.
概念:将单链表的终端节点的指针由原来的空指针改为指向头节点, 就是整个单链表形成一个环, 这种首尾相接的单链表称为单循环链表.。class Node: """ 节点 """ def __init__(self, value): self.data = value self.next = Noneclass CircularLinkedList: def __init__(self): self.rear =
2021-10-22 21:45:12 146
原创 数据结构指针作用详解
数据结构中跳过集合,直接开始线性结构线性结构中单链表的操作涉及到给一个变量赋值地址,所以涉及到了指针。通过指针里的地址很方便找到节点。但指针这里绕了我很长时间,不论学了多少遍也不敢说把指针学会了。地址:地址是什么,从哪里来? 地址是内存中每个字节的编号。我的电脑内存是4G=4×1024(M)×1024(K)×1024(Byte)=4294967296 Byte,其中每个字节Byte=8位bit,如果为每一个字节编码,那么范围为0~4294967295(十进制),换算为2进制:0000 0000
2021-10-22 21:30:14 1640
原创 线性表的链式存储
线性表的链式存储结构:为什么采用链式存储结构这种数据结构?–》因为顺序存储结构插入或删除元素时候会涉及大量元素移动,非常影响效率。因此引入了链式存储结构为了弥补顺序存储结构效率上的问题。链式存储结构的定义:1.我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。2.指针域中存储的信息称为指针或链。这两部分信息组成数据元素称为存储映像,称为结点(Node)。3.n个结点链接成一个链表,即为线性表(a1, a2, a3, …, an)的链式存储结构。4.因为此链表的每个结点中
2021-10-21 22:04:22 300
原创 线性表的顺序存储
一、顺序存储定义线性表的顺序存储结构指的是用一段地址连续的存储单元依次线性表的数据元素。顺序存储的示意图如下:在这里插入图片描述二、线性表的地址计算方法由于c语言的数组的下标是从0开始的,所以线性表第i个元素存储在第i-1的位置。如下图所示:在这里插入图片描述由于每个数据元素,不管它是整型还是字符型。都占有一定的存储单元空间。假设占用的是c个单位的存储单元。那么线性表中第i+1个元素的存储位置和第i个元素的存储位置满足以下条件。LOC(a(i+1)) = LOC(ai) + c则可以推断出第
2021-10-21 21:59:55 1059
原创 数据结构第一周(线性表存储)
1、什么是线性结构定义:有且仅有一个起始元素(无直接前趋,仅有一个直接后继),一个终点元素(无直接后继,仅有一个前趋),其余内部元素各有一个直接前趋和一个直接后继的有限有序序列。b123e常见类型:线性表、堆栈、队列、数组、串等。(1)线性表-逻辑结构是指数据元素之间的关系为一一对应的线性关系的数据结构。例如:(1,2,3,4,5,6)是一个线性表,表长为7,元素为整数。(2)线性表-物理存储结构顺序存储结构逻辑上连续,物理上也连续。(3)链式存储结构物理上可以不连续,
2021-09-21 16:25:47 79
原创 数据结构第一周(初始数据结构)
数据结构学习第一周(认识数据结构)学习目标:1、认识数据结构和理解数据结构的三个组成部分:①逻辑结构: 数据元素之间逻辑关系的描述 D_S=(D,S) ②存储结构: 数据元素在计算机中的存储及其逻辑关系的表现称为数据的存储结构或物理结构。 ③数据操作: 对数据要进行的运算。2、初步认识算法并理解算法的特性。3、理解数据结构和算法的关系。学习内容:1、数据结构的发展1968年由美国唐•欧•克努特教授开创了数据结构的最初体系,并在70年代之后开始发展至今,分为3个发展阶段:无结构阶段、结构化
2021-09-19 16:32:07 256
原创 微信小程序OTO商城(商务端)
文章目录一、app.js二、app.json三、utils.js四、index1.index.wxml2.index.wxss3.index.js五、logs1.logs.wxml2.logs.wxss2.logs.js六、appointmentsappointments主页2.appointmentsDetails七、orderFormsorderForms主页1.orderFormsDetails八、shoopListsshoopLists主页1.add2.detail3.edit一、app.js
2020-11-16 17:18:50 849 1
原创 微信小程序OTO商城(客户端)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、app.js二、app.json三、index(登录页)1.index.wxml2.index.wxss2.index.js四、shoopList(商品列表)商品列表主页1.details(商品详情页)2.settlement(结算页)五、appointment(预约页)预约主页1.appointmentAdd(添加预约)2.appointmentDetails(预约详情)六、orderForm(订单页)订单主页1.detail
2020-11-16 12:16:07 959
原创 2020-10-27
微信小程序ajax的写法首先在utls文件夹下新建文件api,然后在api文件中写入以下代码,这里以豆瓣电影为例:var api={filmApi:“https://m.douban.com/rexxar/api/v2/subject_collection/movie_showing/items”,tvApi:“https://m.douban.com/rexxar/api/v2/subject_collection/tv_hot/items”,varietyApi:“https://m.doub
2020-10-27 20:44:40 111 1
原创 2020-10-27
微信小程序大白项目文章目录一、pages1.connection(联系我们)2.cpfw(产品服务、产品展示)3.cpxq(海报详情)4.dt(公司动态)5.dxal(典型案例)6.gsjj(公司简介)7.gy7.index8.zx二、app.json三、sitemap.json一、pages1.connection(联系我们)wxml代码如下(示例):<!--pages/connection/connection.wxml--><view class="box">
2020-10-27 20:29:55 356
原创 微信小程序短信验证码倒计时(计时器)
1.wxml部分<block wx:if="{{Num==60 || Num==-1}}"> <button bindtap="countDown">获取验证码</button></block><block wx:else> <button disabled='{{isDisabled}}'>{{Num}}s后重新发送</button></block>2.js部分// page
2020-09-28 17:01:19 369
原创 微信小程序口红项目
微信小程序口红项目index页wxml代码:按钮index页wxss代码:.bj{width: 100vw;height: 100vh;}button{z-index: 1;position: absolute;bottom: 50rpx;right: 50rpx;}.music{animation: rotate 2s infinite linear;}@keyframes rotate{from{transform: rotate(0deg);}to{t
2020-09-28 16:59:46 1159
原创 微信小程序模仿微信主页及页面跳转详解
主页wxml代码: <!-- <checkbox checked="{{item.isChecked}}"></checkbox> --><image src="http://116.62.201.243:8080/wxxcx/{{item.image}}" data-key="{{item.goodsId}}" bindtap="clickHandler"></image><view class="num" wx:if="{
2020-09-28 16:55:38 704 1
原创 微信小程序点击按钮跳转到指定页面
首先这是一个仿微信页面的通讯录列表:当点击页面右侧的字母栏时,页面将跳转到相应字母的位置。wxml代码如下: <view class="fg">{{item.title}}</view><view class="box_1" wx:for="{{item.list}}"> <view class="box1"> <view class="tx"> <image src="{{item.url}}"
2020-09-28 15:50:52 4516
原创 微信小程序实现上拉加载下拉刷新
wxml代码:代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl._create_default_https_context = ssl._create_unverified_contextwxss代码:代码如下(示例
2020-09-28 14:59:12 188
原创 微信小程序学习第一周
微信小程序学习第一周前言 微信小程序学习已经进行了一周了,从第一天安装软件的迷茫到勉强能做出一个像样的页面,感觉自己短短几天内学到了很多,每天都在密集的接收着新鲜的知识点,尽管现在大部分基本会用了,但很多知识点在实际应用中还是会出现各种各样的问题,现在将这些问题总结一下。问题: 首先是遇到的一个小问题,但是起初受到了不小的困扰,那就是小程序页面渲染不出来,主要有以下两个原因:1、网络不佳导致的加载慢。2、app.json中的代码出现错误,导致微信小程序渲染不出来。 然后就是这两天
2020-09-28 14:51:39 130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人