- 博客(8)
- 收藏
- 关注
原创 数据结构c语言05-prim算法
prim算法的思想是有两个集合U和V,U里面是最小生成树的节点V是除了U的节点,刚开始时U里面只有起始节点,定义一个总结点数量大小的edge边数组,每一个edge元素包括一个vex和一个权重,因为是总结点数量大小的edge数组所以edge[i]这个i和vex就形成了一条边,权重就是weight,这个数组主要用来维护U集合向V集合连接的边的,所以不会出现环的问题。等下说明为什么一定不会出环。那这里为什么不会出现环呢,因为如果现在加入了新的节点以后设置新节点这个边weight=0;
2024-10-26 14:44:40
373
原创 数据结构c语言学习记录03-二叉平衡树
这里rr型调整和ll型调整都用了一个一重指针和一个二重指针,一重指针是为了方便具体的调整过程的使用,二重指针是为了保存下来替换根节点的操作,因为如果第二个参数也是一重指针,比如*root 那我在函数里面root=tmp是没有用的,因为root变量存的是函数外部给我的失衡的根节点(一个地址值),然后root变量在函数里面等于了一个新的地址值,外部不知道里面发生了什么,所以还是用一个二重指针就可以记录下地址值的变化。这里的ll型调整指的是右旋,rr型调整指的是左旋。所以构建二叉树的过程就是插入加调整。
2024-10-23 10:42:38
252
原创 数据结构c语言学习记录02二叉排序树
构建这里我写的麻烦了,我是利用昨天那个递归创建二叉树的思路写的,当当前节点为空时说明找到了它应该在的位置,那就让他初始化为data取出来的值,并且让index指针里的值加1,然后再次递归初始化T为最开始的T,意味着回到root重新开始查找,如果不为空就根据data和当前节点的值往左或者往右走。但其实这个递归回到root原点这里可以用int main函数里面写一个for循环,然后循环内部不断的去调用插入函数就好了,不断地把节点插入到T当中去。二叉排序数就是左子都比根小,右子都比根大,递归下去。
2024-10-23 10:40:11
130
原创 人机交互设计原型
重要的元素要大一些,不太重要的界面元素应该小一些 规则:如果一个元素的重要性为1/2,那就把它的大小做成1/4,所以在下图当中,将轮播图设置为整体界面的1/4的大小,因为我要用轮播图放一些优惠满减的活动,所以我觉得这个地方很重要,在这个地方有优惠满减活动就可以删去侧边栏的小广告了,因为根据简约至上原则不是重要的按钮放在界面上会分散用户的注意力。关注核心体验,由于目标是移动端电商平台,那核心的体验就是购物,所以删除掉与购物无关的元素,比如短视频,比如小程序,甚至是游戏。
2024-10-22 13:04:58
779
原创 数据结构c语言学习记录01-线索二叉树
想着手搓一遍c语言的数据结构,跟的这位up主的视频听完思路自己搓一遍然后debug的时候再去对照up的代码。不得不说debug是一个十分痛苦的过程,一顿de来de去最后代码变成和up的一样了,记录一下三种线索化。
2024-10-21 18:11:05
864
原创 20240925
多么完美的封装继承,Card包含卡片信息,然后Card再写一个公共的支付函数,我再用金卡银卡一重写,等用的时候我一个Card card = new GoldCard()然后统一调用card.pay又体现了多态。于是乎想到这里可以用策略模式进行改进,我在Card类里面去存一个打折策略的接口,以后如果要加什么钻石卡,或者打折整体的规则都变了比如按200-300 400-500分段打折等等我就只去策略类里面去改就好了。而且要用外部的类来调用card并且根据不同的card的策略进行相应的操作。
2024-09-25 16:31:45
440
原创 c语言中指针的形式表示二维数组其中a+1和*(a+1)为什么值相同,但是意义不同
故在数值上来看,a+1和*(a+1)是相同的,但含义是不同的。
2024-03-21 23:30:41
623
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人