C\C++中数组指针和二维数组最强最简单粗暴深刻理解!!!一遍包过! 2024-05-17 c++, c语言, 数据结构, 开发语言 44人 已看 a[i]+j==&a[i][0]+j==&a[i][j] (注意这里和②的形式区别,②代表着在“行”元素首地址上做加减,而④已经代表着在二维矩阵的具体元素的地址上进行加减了)同时C语言规定,数组名在值上等于数组首元素地址,它是一个指向该数组首元素的指针!(a[i]+j)表示,也等于*(p[i])+j)表示。(p+i)+j)=a[i][j] (顺利推导,二维数组元素可以用。(p+i)+j)表示,也可以用a[i][j]表示,还可以用。这个C语言规定,即a==&a[i],a+1==&a[i]
数据结构--数据结构中的双链表结构(上) 2024-05-19 运维, linux, 服务器, windows, 数据结构 52人 已看 首先就是要创建,申请一个空间,将所对应的x存入刚申请的空间中,这样做的好处就是:便于用x来指定下一个空间。基本上和尾插相似,但不完全一样,主要是:头插中,头部插入到下一个节点的头部。这个就是头文件所包含的初始化代码。来代表说明要创造一个基本骨架。简简单单几行代码就能搞定了。
C\C++中数组指针和二维数组最强最简单粗暴深刻理解!!!一遍包过! 2024-05-17 c++, c语言, 数据结构, 开发语言 51人 已看 a[i]+j==&a[i][0]+j==&a[i][j] (注意这里和②的形式区别,②代表着在“行”元素首地址上做加减,而④已经代表着在二维矩阵的具体元素的地址上进行加减了)同时C语言规定,数组名在值上等于数组首元素地址,它是一个指向该数组首元素的指针!(a[i]+j)表示,也等于*(p[i])+j)表示。(p+i)+j)=a[i][j] (顺利推导,二维数组元素可以用。(p+i)+j)表示,也可以用a[i][j]表示,还可以用。这个C语言规定,即a==&a[i],a+1==&a[i]
数据结构--数据结构中的双链表结构(上) 2024-05-19 运维, linux, 服务器, windows, 数据结构 64人 已看 首先就是要创建,申请一个空间,将所对应的x存入刚申请的空间中,这样做的好处就是:便于用x来指定下一个空间。基本上和尾插相似,但不完全一样,主要是:头插中,头部插入到下一个节点的头部。这个就是头文件所包含的初始化代码。来代表说明要创造一个基本骨架。简简单单几行代码就能搞定了。
C\C++中数组指针和二维数组最强最简单粗暴深刻理解!!!一遍包过! 2024-05-17 c++, c语言, 数据结构, 开发语言 42人 已看 a[i]+j==&a[i][0]+j==&a[i][j] (注意这里和②的形式区别,②代表着在“行”元素首地址上做加减,而④已经代表着在二维矩阵的具体元素的地址上进行加减了)同时C语言规定,数组名在值上等于数组首元素地址,它是一个指向该数组首元素的指针!(a[i]+j)表示,也等于*(p[i])+j)表示。(p+i)+j)=a[i][j] (顺利推导,二维数组元素可以用。(p+i)+j)表示,也可以用a[i][j]表示,还可以用。这个C语言规定,即a==&a[i],a+1==&a[i]
Leetcode42题:接雨水 2024-05-22 算法, java, leetcode, 职场和发展, 数据结构 56人 已看 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输入:height = [4,2,0,3,2,5]
P6【力扣144,94,145】【数据结构】【二叉树遍历】C++版 2024-05-22 算法, c++, leetcode, 职场和发展, 数据结构 56人 已看 从根节点开始遍历,并将根节点入栈,再遍历他的左子树,并依次入栈,直到该结点没有左子树。判断这个结点是否有右子树,如果没有,则将该结点弹出栈,并记录结点值。如果有则继续从他的右子树进行遍历,同时记录该结点的右子树是否遍历过,如果遍历过,则弹栈并记录结点值。时间复杂度:O(N)每个结点会遍历一次且只遍历一次。空间复杂度:O(N)栈至多会存放所有树节点。
数据结构和算法|排序算法系列(一)|选择排序 2024-05-23 算法, 排序算法, 数据结构 60人 已看 选择排序应该已经是最简单的排序方法了:开启一个循环,每轮从未排序区间选择最小的元素,将其放到已排序区间的末尾。轮,第一轮的为排序区间长度为n,最后一轮未排序区间长度为2,所以各论循环分别包含。这是一个等比数列,所以和为。从这里可以看出,外循环一共有。
P6【力扣144,94,145】【数据结构】【二叉树遍历】C++版 2024-05-22 算法, c++, leetcode, 职场和发展, 数据结构 52人 已看 从根节点开始遍历,并将根节点入栈,再遍历他的左子树,并依次入栈,直到该结点没有左子树。判断这个结点是否有右子树,如果没有,则将该结点弹出栈,并记录结点值。如果有则继续从他的右子树进行遍历,同时记录该结点的右子树是否遍历过,如果遍历过,则弹栈并记录结点值。时间复杂度:O(N)每个结点会遍历一次且只遍历一次。空间复杂度:O(N)栈至多会存放所有树节点。
货币系统一(DP[i][j]二维) 2024-05-18 算法, 动态规划, 数据结构 79人 已看 奶牛手上有N枚硬币,第i枚硬币的面值是d[i]元。无人售货机有1000件礼物,编号从1至1000,第i件礼物需要i元,售货机不设找赎。第一行,一个整数N,1<=N<=40。第二行,N个整数,第i个整数是d[i],1<=d[i]<=100。dp[i][j]=1 (j>=a[i] &&dp[i-1][j-a[i]==1) //用第i个硬币。2.状态:dp[i][j]表示用第i个硬币组合时,能否表示面值j;dp[i][j]=dp[i-1][j] //不用第i个硬币。一行,从小到大输出不可能买得到的礼物的编号。
哈希表---闭散列 2024-05-19 算法, java, 散列表, 哈希算法, 数据结构 179人 已看 当我们用哈希函数的时候,其中一个就是取这个表的长度len,按照哈希函数:Hash(key) = key% len,将这个位置映射到表中通过上面的除留余数法,会有的问题,可以通过来解决也叫,通过线性探测,依次找后面的位置存储。
4. 排序算法 2024-05-22 算法, java, 排序算法, 数据结构, 开发语言 62人 已看 思想:(1)需要把最大的数一直挪到最后面;(2)挪动n-1轮步骤:(1)首先实现一趟冒泡(2)再实现多趟冒泡。
leetcode143-Reorder List 2024-05-19 算法, leetcode, list, 职场和发展, 数据结构 87人 已看 这道题目的思路其实很明确,先把链表一分为二,再求第二个链表的翻转链表,再把俩个链表相互插入式的连接到一起即可。特别要注意处理一些边界情况,否则很容易空指针。不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。输入:head = [1,2,3,4]输出:[1,4,2,3]
【力扣一轮】字符串异位 && 数组并集 2024-05-20 算法, 散列表, 哈希算法, leetcode, 数据结构 170人 已看 先验知识记录:遇到哈希问题,想到三种数据结构:①数组:适用于哈希值比较小,范围较小,②set:适用于哈希值较大。③map:如果需要用到键值对,则用之。
Flutter 中的 AnimatedList 小部件:全面指南 2024-05-21 flutter, list, 数据结构 102人 已看 是Flutter的widgets库中的一个组件,它提供了一个有序的列表,允许你通过动画来添加或移除列表项。内部使用了一个List来存储数据,并提供了一组方法来更新列表内容。
数据结构:二叉树(基本概念) 2024-05-18 算法, 数据结构 23人 已看 树是一种非线性的数据结构,它由一组称为节点的元素构成,这些节点通过边连接起来。树的一个节点称为根节点,根节点可以有零个或多个子节点,每个子节点又可以有自己的子节点,以此类推,形成了一棵树。树(或称为树状结构)是一种重要的数据结构,它在计算机科学和数学中有广泛的应用。树的主要作用包括以下几个方面:1. 组织和存储数据:树可以用来组织和存储具有层次关系的数据,例如组织结构、文件系统、网络路由表等。树的层次结构使得数据的管理和访问更加高效和方便。
力扣63 不同路径Ⅱ Java版本 2024-05-21 算法, leetcode, 动态规划, 职场和发展, 数据结构 123人 已看 机器人试图达到网格的右下角(在下图中标记为 “Finish”)。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]那么从左上角到右下角将会有多少条不同的路径?输入:obstacleGrid = [[0,1],[0,0]]obstacleGrid[i][j] 为 0 或 1。网格中的障碍物和空位置分别用 1 和 0 来表示。解释:3x3 网格的正中间有一个障碍物。