
信息学奥赛
文章平均质量分 52
pziwang
云中台java项目,信息学奥赛辅导
展开
-
线性表(链表)
线性表#学习目标掌握线性表基础思想、优缺点、常见分类,能复述;能使用java代码实现线性表创建,元素插入、删除、元素修改、查找;完成一道相关题目。#基础思想、优缺点1.基础思想在内存中可以非连续存储,提高空间利用率,理论上其大小是内容能使用空间的大小(非连续);2.优缺点优点:空间无限制插入元素、删除元素很快缺点:查找速度很慢。#常见分类**单向链表:**一个节点只指向下一个节点**双向链表:**一个节点同时包含下一个节点和上一个节点的引用(指针)**环形链表:**原创 2022-05-07 17:30:00 · 172 阅读 · 0 评论 -
查找二叉树
二叉搜索树Binary Search Tree 能够用于快速查找的存储数据结构,左子树值<根节点值<右子树值# 定义它或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。# 遍历以遍历根节点的顺序来定义前序遍历:根-左-右中序遍历:左-根-右 —>遍历结果为有序递增序列后序遍历:左-右-根原创 2022-05-06 22:28:08 · 614 阅读 · 0 评论 -
数据结构:链表(洛谷P3613题解)
一、链表的特点链表可以用来处理数据下标不连续,数据长度动态增加的情况。常见的有单向链表、双向链表和环形链表,本文记载单向链表的实现。单向链表中,有显式的域,data用来存储该节点的数据,next指针指向下一个节点的地址,节点地址就是该节点在内存中的地址。二、链表的实现本文中采用c++实现链表的基本结构。1.节点的基本结构struct Node{ int data;//数据类型根据需...原创 2020-03-21 14:27:42 · 2060 阅读 · 0 评论 -
信息学奥赛笔记一
1.格式化输入 scanf(“%d %f %lf %c”,&a,&b,&c,&d); 2.格式化输出 printf(“%d %f %0.3lf %c”,a,b,c,d); 3.取整的几个函数(只能应用于浮点数) floor(10.5)=10; ceil(10.2)=11; 4.数学函数 sqrt(x);求平方根 fab(x);求整数的绝对值 fa...原创 2018-08-18 23:07:12 · 1286 阅读 · 0 评论 -
几种常见的排序算法(一)
一、选择排序基本过程 每次从未排序序列中选择出最小(最大)的数据,和未排序序列的第一个数据交换。 时间复杂度:O(n^2) 过程图示 算法实现void selectSort(int A[],int len){ int i,j,k; for(i=0;i<len;i++){ k=i; for(j=i+1;j<len;j+...原创 2018-08-31 17:01:02 · 166 阅读 · 0 评论 -
c++中带符号二进制数的表示
c++中带符号二进制数的表示一、二进制表示带符号数方法:(1)最高位为1表示负数,最高位为0表示正数;(2)哪一位是最高位取决于变量类型的字节数;eg:在win32控制台应用程序中,int是32位,即是4字节的类型,当我们定义int i;那么这个i的最高位在从左数第三十一位(默认左一为第0位)。二、原码补码反码:(1)正数:原码补码反码是一样的;(2)负数:负数的原码除了最高位为1,...原创 2019-05-21 09:42:27 · 6226 阅读 · 0 评论 -
c++ memset函数用法和详解
memset()memset这个函数的作用是将数字以单个字节逐个拷贝的方式放到指定的内存中去memset(dp,0,sizeof(dp));int 类型的变量一般占用4个字节,对每一个字节赋值0的话就变成了“00000000 00000000 000000000 00000000” (即10进制数中的0)赋值为-1的话,放的是 “11111111 11111111 11111111 111...原创 2019-09-01 23:33:39 · 1153 阅读 · 0 评论