当前位置:网站首页 > Java基础 > 正文

伽利略大学 java编程基础



算法区

树状数组

树状数组相较于二叉树删除了一些节点,注意到第一行删除的为偶数节点,而2存储的是1和2下面的节点的合(为其叶子节点),同时我们观察到每一层的节点等同于以其为根节点的叶子节点的合,而求这些节点全体的目标合使用不到的内容就会被删掉,剩下下面的节点共有n个,刚好和最初的数组大小相等。

我们可以观察到每层节点对应的末尾零的数量和层数相关,第n(从0开始)层对应二进制末位n个零。

前置知识lowbit :这代表将非负整数转换为二进制数然后取最低位1及其后面的0组成的数

 
 

区间查询ask:进行区间查询,查询某一区间的sum

我们发现sum[7]=t[7]+t[6]+t[4] ,我们进一步发现,6=7-lowbit(7),4=6-lowbit(6),所以我们可以通过不断的-lowbit操作来实现求和

 

求[L,R]之间的区间合,等同于求[1,R]-[1,L-1]

 

函数区

1.队列

定义:队列属于容器,允许先进先出,像排队一样

 
 

2.字符串 

 
返回字符串的长度(字符数)。与  相同,返回字符串的长度。判断字符串是否为空。访问字符串中指定位置的字符。访问字符串中指定位置的字符(带边界检查)。返回从指定位置开始的子字符串。查找子字符串在字符串中的位置。从字符串末尾开始查找子字符串的位置。替换字符串中的部分内容。在字符串末尾添加内容。在指定位置插入内容。删除指定位置的字符或子字符串。清空字符串。返回指向字符数据的指针(C++11 及之后的版本)。比较两个字符串。查找第一个匹配任意字符的位置。查找最后一个匹配任意字符的位置。查找第一个不匹配任意字符的位置。查找最后一个不匹配任意字符的位置。

一些常用的使用(C++)

格式化

cin.get() 从键盘读入一个字符,可以读入逗号之类的
int(a) 强制类型转换
cout输出左侧补0:

 

cout输出右侧补0:

 

printf动态调整输出格式

 

数学计算

1.幂函数 pow(数,指数)
note:若要开方的话,后面要用小数 伽利略大学 java编程基础

常识区

方法区

版权声明


相关文章:

  • java中网络编程基础2024-10-26 23:26:04
  • java编程基础怎么样2024-10-26 23:26:04
  • 26岁零基础转java2024-10-26 23:26:04
  • java基础多态概念2024-10-26 23:26:04
  • 0基础能否做java2024-10-26 23:26:04
  • java初学者基础开发2024-10-26 23:26:04
  • 学习java需要基础2024-10-26 23:26:04
  • 只有java基础怎么找工作2024-10-26 23:26:04
  • java基础语法二进制2024-10-26 23:26:04
  • java基础之递归调用的机制2024-10-26 23:26:04