第七次课 课上代码

时间空间复杂度(例子:1-n求和)

复杂度:https://blog.csdn.net/hebtu666/article/details/82463970

https://blog.csdn.net/hebtu666/article/details/82465495

二分

一个数组查找某个值1 2 3 5 6 7 8 9 10 15 20。。

查找11

 

Debug(二分)(#,’’’,打印)

二分:https://blog.csdn.net/hebtu666/article/details/81410301

 

桶排序 O(N)   O(NlogN)   O(N^2)

      1 10000000

e

0 1 2 1 2 1 0 1 1

0 1 2 3 4 5 6 7 8

O(e)

1 2 2 3 4 4 5 7 8

排序稳定性

https://blog.csdn.net/hebtu666/article/details/81434236,排序好好看

5 4 5 6 7 8

4 5 5 6 7 8

一、 50 10

二、 40 5 

三、 45 20

四、 40 10

先按后面的数排 三一四二

 

再按前面的,一、三、四、二  

 

 

埃氏筛

 

代码:

>>> a=0
>>> for i in range(5):
    a+=i

    
>>> print(a)
10
>>> print(o(n))
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    print(o(n))
NameError: name 'o' is not defined
>>> print('o(n)')
o(n)
>>> print('o(1)')
o(1)
>>> n=int(input())
5
>>> l=[0]*n
>>> l
[0, 0, 0, 0, 0]
>>> for i in range(n):
    l[i]=int(input())

    
1
6
2
3
1
>>> print(sum(l))
13
>>> n=int(input())
5
SyntaxError: multiple statements found while compiling a single statement
>>> n=int(input())
5
>>> a=0
>>> for i in range(n):
    a+=int(input())

    
1
2
3
4
5
>>> print(a)
15
>>> def f(key,l):
    left,right=0,len(l)-1
    while left<=right:
        mid=int((left+right)/2)
        if key<l[mid]:
            right=mid-1
        elif key>l[mid]:
            left=mid+1
        else:
            print(mid)
            return
    print(-1)

    
>>> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构课上笔记1

第一节课复习了c语言的一些知识&#xff0c;并简单介绍了数据结构这门课程。 1、引用和函数调用&#xff1a; 1.1引用&#xff1a;对一个数据建立一个“引用”&#xff0c;他的作用是为一个变量起一个别名。这是C对C语言的一个重要补充。 用法很简单&#xff1a; int a 5; …

并查集实现

并查集是什么东西&#xff1f; 它是用来管理元素分组情况的一种数据结构。 他可以高效进行两个操作&#xff1a; 查询a&#xff0c;b是否在同一组合并a和b所在的组 萌新可能不知所云&#xff0c;这个结构到底有什么用&#xff1f; 经分析&#xff0c;并查集效率之高超乎想象…

字符串上的简单动态规划

因为数据结构快学串了&#xff0c;以前又做过一些字符串dp的题&#xff0c;今天突然就想把它们写在一起吧。 直接开始 问题1&#xff1a;给两个字符串&#xff0c;求最长公共子串 问题2&#xff1a;给两个字符串&#xff0c;求最长公共子序列 问题3&#xff1a;给一个字符串…

线段树简单实现

首先&#xff0c;线段树是一棵满二叉树。&#xff08;每个节点要么有两个孩子&#xff0c;要么是深度相同的叶子节点&#xff09; 每个节点维护某个区间&#xff0c;根维护所有的。 如图&#xff0c;区间是二分父的区间。 当有n个元素&#xff0c;初始化需要o(n)时间&#xf…

树状数组实现

树状数组能够完成如下操作&#xff1a; 给一个序列a0-an 计算前i项和 对某个值加x 时间o(logn) 注意&#xff1a;有人觉得前缀和就行了&#xff0c;但是你还要维护啊&#xff0c;改变某个值&#xff0c;一个一个改变前缀和就是o(n)了。 线段树树状数组的题就是这样&#x…

数据结构课上笔记2

今天继续说明了一些基本概念&#xff0c;讲解了时间空间复杂度。 &#xff08;对于概念的掌握也很重要&#xff09; 元素之间的关系在计算机中有两种表示方法&#xff1a;顺序映像和非顺序映像&#xff0c;由此得到两种不同的储存结构&#xff1a; 顺序存储结构和链式存储结构…

双端单调队列

上次我们介绍了单调栈结构https://blog.csdn.net/hebtu666/article/details/82717317 这次介绍一种新的数据结构&#xff1a;双端队列&#xff1a;双端队列是指允许两端都可以进行入队和出队操作的队列&#xff0c;其元素的逻辑结构仍是线性结构。将队列的两端分别称为前端和后…

KMP子字符串匹配算法学习笔记

文章目录学习资源什么是KMP什么是前缀表为什么一定要用前缀表如何计算前缀表前缀表有什么问题使用next数组来匹配放码过来构造next数组一、初始化二、处理前后缀不相同的情况三、处理前后缀相同的情况使用next数组来做匹配代码总览测试代码时间复杂度分析学习资源 字符串&…

数组实现队列

数组实现队列结构&#xff1a; 相对栈结构要难搞一些&#xff0c;队列的先进先出的&#xff0c;需要一个数组和三个变量&#xff0c;size记录已经进来了多少个元素&#xff0c;不需要其它萌新看不懂的知识。 触底反弹&#xff0c;头尾追逐的感觉。 循环使用数组。 具体解释…

栈/队列 互相模拟实现

用两个栈来实现一个队列&#xff0c;完成队列的Push和Pop操作。 队列中的元素为int类型。 思路&#xff1a;大概这么想&#xff1a;用一个辅助栈把进第一个栈的元素倒一下就好了。 比如进栈1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5 第一个栈&#xff1a; 5 …

数据结构课上笔记3

这节课介绍了线性表结构和顺序表示的一部分内容。 操作太多&#xff0c;而且书上有&#xff0c;就不一一介绍分析了。 线性表定义&#xff1a;n个数据元素的有限序列。 特点&#xff1a; 存在唯一一个称作“第一个”的元素。存在唯一一个称作“最后一个”的元素除最后一个元…

内存分区

之前一直比较懵&#xff0c;想想还是单独写一个短篇来记录吧 一般内存主要分为&#xff1a;代码区、常量区、静态区&#xff08;全局区&#xff09;、堆区、栈区这几个区域。 代码区&#xff1a;存放程序的代码&#xff0c;即CPU执行的机器指令&#xff0c;并且是只读的。 常…

栈的排序

一个栈中元素的类型为整型&#xff0c;现在想将该栈从顶到底按从大到小的顺序排序&#xff0c;只许申请一个栈。除此之外&#xff0c;可以申请新的变量&#xff0c;但是不能申请额外的数据结构&#xff0c;如何完成排序&#xff1f; 思路&#xff1a; 将要排序的栈记为stack,申…

双链表实现

以前写的不带头的单链表实现&#xff0c;当时也啥也没学&#xff0c;好多东西不知道&#xff0c;加上一心想压缩代码&#xff0c;减少情况&#xff0c;所以写得不太好。 请教了老师&#xff0c;首先是命名问题和代码紧凑性等的改进。还有可读性方面的改进&#xff0c;多写了一…

数据结构作业1 讲解和拓展

原题来自雪梨教育 http://www.edu2act.net/task/list/checked/ 题后给出讲解和扩展 任务1_1 比较下列算法的时间复杂度 任务描述&#xff1a; 下面给出4个算法&#xff0c;请分析下列各算法的时间复杂度&#xff0c;请写清楚题号&#xff0c;并将每个小题的分析过程写出来&…

KMP+DP1

Description 求一个字符串的所有前缀在串中出现的次数之和 Input 多组用例&#xff0c;每组用例占一行为一个长度不超过100000的字符串&#xff0c;以文件尾结束输入 Output 对于每组用例&#xff0c;输出该字符串的所有前缀在串中出现的次数之和&#xff0c;结果模256 Samp…

数据结构课上笔记5

介绍了链表和基本操作 用一组物理位置任意的存储单元来存放线性表的数据元素。 这组存储单元既可以是连续的&#xff0c;也可以是不连续的&#xff0c;甚至是零散分布在内存中的任意位置上的。因此&#xff0c;链表中元素的逻辑次序和 物理次序不一定相同。 定义&#xff1a; …

并查集入门三连:HDU1213 POJ1611 POJ2236

HDU1213 http://acm.hdu.edu.cn/showproblem.php?pid1213 问题描述 今天是伊格纳修斯的生日。他邀请了很多朋友。现在是晚餐时间。伊格纳修斯想知道他至少需要多少桌子。你必须注意到并非所有的朋友都互相认识&#xff0c;而且所有的朋友都不想和陌生人呆在一起。 这个问题…

Java设计模式(2 / 23):观察者模式

定义 观察者&#xff08;Observer&#xff09;模式定义了对象之间的一对多依赖&#xff0c;这样一来&#xff0c;当一个对象改变状态时&#xff0c;它的所有依赖者都会收到通知并自动更新。 OO设计原则&#xff1a;为了交互对象之间的松耦合设计而努力。 案例&#xff1a;气…

二叉树概述

各种实现和应用以后放链接 一、二叉树的基本概念 二叉树&#xff1a;二叉树是每个节点最多有两个子树的树结构。 根节点&#xff1a;一棵树最上面的节点称为根节点。 父节点、子节点&#xff1a;如果一个节点下面连接多个节点&#xff0c;那么该节点称为父节点&#xff0c;它…