自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 哈希表的c语言实现

我们可以设计这种计算,输入的是数字,输出的是下标,这个函数叫做哈希函数,每个数字和英文字母都应对应的ASCII码,我们用 ASCII % 5的方式来作为它的下标,哈希函数就是: 输入值的ASCII % 5,c语言的代码实现如下。哈希表的存储也是通过数组来实现的,但是不同与数组按照顺序一个个放入数据,哈希表会通过哈希函数来计算下标,将值放入对应的位置,同样的,取值时,只需要根据哈希函数进行计算,就能得到数组的下标值,所以查找的时间复杂度是o(1)我们先来看这样一个问题。

2023-07-30 21:11:13 224

原创 python列表的新增和删除操作

【代码】python列表的新增和删除操作。

2023-07-13 20:42:57 120

原创 python切片操作

列表名[start: stop: step]默认为0,开始元素下标,也可理解为-len(list),因为是左闭右开,开始是包含的默认为-1,结束元素下标,也可理解为len(list)每次间隔几个元素,默认为1。

2023-07-12 22:31:35 327

原创 python浮点运算不准确

1.

2023-07-09 17:48:47 250

原创 编译型语言和解释型语言的区别

计算机能识别二进制数,但是无法识别编程语言,比如你把 01000001100通过相关手段输入计算机中计算机就能识别其中的含义并且执行对应的命令,但是你输入 print('hello world')计算机就无法识别其含义,这就需要有个东西把print('hello world')类似的语言翻译成 0011000这种二进制语言,这个东西就是编译器或者解释器。

2023-07-09 16:43:25 257

原创 C语言中 . -> & * ** typedef符号或操作符的用法

大家在看数据结构清华版书时,经常会被里面的 * . -> typedef c语言 c++的切换看的云里雾里,运行里面伪代码经常很困扰,网上也大多把c语言和c++看成一起混合编译处理,导致大家单纯想理解c语言造成很多困扰,下面这篇文章仅针对于c语言详细说明上面几个符号的用法,帮助大家理解纯c代码。先说结论,在C语言中,对于一个结构体类型变量a上面两种写法是等价的对于上面这段代码可以看成在操作系统内部做了上图的操作,首先,创建了一块内存大小为4个字节,首地址0x0000,结束地址为0x0004,对于

2022-06-21 14:09:55 1759 1

转载 C语言变量名存储在哪里

int a = 1;这是一个很简单的c语言代码,很多了解过c语言的小伙伴都知道这个语句的作用是声明了一个int型的变量a,并且赋值为1,通过指针我们知道1是存储在a所指的那个内存中的,那么a存储在哪里呢?c语言内存管理为了说明这个问题,先简单介绍下c语言里面的内存基本概念1.栈区(stack)— 由编译器自动分配释放 ,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。该栈的最大存储是有大小的,该值固定,超过该大小将会造成栈溢出。2.堆区(heap) — 一般由程序员分配.

2021-09-12 17:57:14 3304 6

原创 吴恩达机器学习作业一,线性回归的梯度下降实现(python实现)

问题描述:您将使用一个变量实现线性回归,以预测食品卡车的利润。假设你是一家连锁餐厅的首席执行官,正在考虑在不同的城市开一家新餐厅。该连锁店已经在多个城市拥有卡车,你可以从这些城市获得利润和人口数据。你想使用这些数据来帮助你选择下一个城市。文件ex1data1.txt包含我们的线性回归问题的数据集。第一列是一个城市的人口第二列是该城市一辆快餐车的利润。利润为负数表示亏损。问题分析:上述目的就是根据人口来预测利润,对于ex1data1.txt中的数据集,第一列的数据是人口,第二列的数据是利润,我们要

2021-02-24 21:53:10 826 2

原创 IDEA 解决Tomcat乱码问题

只需要改变一下tomcat的配置文件就行了,操作步骤如下1、找到tomcat安装目录下的conf目录(我的安装在Z盘,路径如下,可以参照我的来找你们的安装目录)2、打开conf目录下的logging.properties配置文件,用记事本打开即可3、打开后在最后一行加上java.util.logging.ConsoleHandler.encoding = GBKjava.util.logging.ConsoleHandler.encoding = GBK4、然后保存退出..

2021-01-15 16:29:56 197

原创 IDEA 运行maven项目时出错:Error java:错误: 不支持发行版本14

错误原因对于最近版本的idea(我用的是2020-01),创建和运行maven项目时,会默认使用编译版本为JDK1.5的JDK,而多数人在安装的时候并不是使用的JDK1.5,会和自己的发行版本不匹配,所以会出现不支持发行版本 xx的错误解决办法将所有相关的JDK都配置为自己电脑上安装运行的,我的JDK版本是14,安装JDK14的操作如下1、进入file中的Project Structure目录下,修改Project的内容,将箭头指向的两个都与自己的jdk版本相对应(如果已经正确就不需要进

2021-01-12 15:17:50 1954 5

原创 c语言双向链表的实现

实现了头插法建立双向链表,尾插法建立双向链表,节点的增删改查,链表的顺序遍历,逆序遍历等代码如下#include <stdio.h>#include <stdlib.h>#define TRUE 1;#define FALSE 0;typedef struct DuLNode{ int data; struct DuLNode *prior, *next;}DuLNode, *DuLinklist;//尾插法创建双向链表void Cre

2020-07-12 23:40:32 1110 3

原创 头插法建立双向链表

单链表只能向后访问其他节点的数据,若需要寻找某节点前面节点的数据,则需要从表头开始,重新进行遍历,效率不高,为了克服单链表单向性的缺点,可以利用双向链表双向链表有两个指针域,一个指向直接后继,一个指向直接前驱,头插法建立双链表的方法如下结构体定义如下typedef struct DuLNode{ int data; struct DuLNode *prior, *next;}DuLNode, *DuLNode;prior代表前驱,next代表后继初始化头节点head,

2020-07-12 21:59:10 6497 2

原创 尾插法建立链表详解

尾插法,顾名思义,就是把新加入的节点插入到上一个节点的尾部(头插法是把新加入的节点插入到上一个节点的头部),next存储下一个节点位置的地址,开始时,初始化定义头节点head -> next = NULL;表示头节点的下一个节点为空,就是该链表只有一个头节点,图形化表示为由于头插法要把每一个新加入的节点插入到上一个节点的尾部,所以需要定义一个指针,记录每次插入变换后的最后一个节点的指针域信息r = head;将头节点赋值给r,r记录每次插入变换后尾部的信息申请一个节点

2020-07-10 10:42:58 41810 25

原创 头插法建立链表详解

头插法就是建立一个头节点,进行初始化定义,next存储下一个节点位置的地址,初始化定义指针域为空,表示该头部节点后面指向任何位置的地址,开始时只有一个头部节点。head -> next = NULL;图形化表示为申请一个新节点A1,将A1按照头插法插入到head节点的后面,实现代码为p -> next = head -> next;head -> next = p;p -> next表示p后面指向的地址,将该地址赋值给为头部节点的所指向的下一个节点

2020-07-10 00:04:31 18542 14

原创 数据结构C语言线性表的顺序存储实现

原理是申请一段连续的内存空间,对这段内存空间进行相关操作实现基本的功能,大致实现了数据结构C语言版第二章顺序线性表的所有功能和算法,代码如下#include"stdio.h"#include"stdlib.h"#define OVERFLOW 0#define OK 1#define LIST_INIT_SIZE 20#define LISTINCREMENY 3#define TRUE 1#define FALSE 0/*结构体的定义如下,在该结构体中,有三个属性指针变量

2020-07-09 16:36:43 384

原创 Java ArrayLIst集合使用方法

ArrayList简介ArrayList类是一个可以动态修改的数组,与普通数组的区别是只需要声明数组名,不需要在开始的时候初始化数组大小,可以动态的添加和删除元素ArrayList使用方法ArrayList类位于java.util包中,使用前要导入包,格式为import java.util.ArrayList;//导入包使用时需要对类进行初始化,初始化格式为ArrayList<E> objectName = new ArrayList<>();其中 o

2020-07-06 22:51:34 468

原创 cordova 修改app图标

修改cordova的app图标需要修改一个配置文件和添加图片文件具体操作流程如下找到图标配置文件 AndroidManifest.xml所在目录如下图修改以下内容将红线圈内的ic_launcher修改为自己的图片名字,然后在res路径中加入图片...

2020-06-05 20:43:03 879

原创 编译原理LL(1)预测分析表的构造

LL(1)预测分析表的构造算法对文法G的每个产生式A->α执行如下步骤:(1)对每个a∈First(α),把 A->α加入M[A,a](2)若 ε∈First(α),则对任何b∈Follow(A) ,把 A->ε加 至M[A,b]中简单理解就是对于每一个产生式 A->a | b | c...... 求出a , b, c.....所有的first集,将其first集中对应的每一个元素加入到表格中,横坐标是产生式...

2020-05-10 15:59:28 10423 3

原创 机器学习 -基于sklearn波士顿房价预测

from sklearn.datasets import load_boston # 从skelan的数据集中导入数据首先从标准库中导入数据集dataset = load_boston() # 将数据集合中的数据赋值给datasetx_data = dataset.data # 导入所有特征变量,赋值给xy_data = dataset.target # 导入目标值(房价)...

2019-10-06 19:47:08 4638

原创 虚拟机部署贪心法实现

考虑到在虚拟机部署中资源提供商通常希望自己的收益最大化,现假设有一台宿主机,共有x个cpu和y GB的内存,用户可以采取自己报价的方式向资源提供商申请使用虚拟机资源,譬如说付w元申请a个cpu和b GB内存的一台虚拟机。请你设计一个算法,让资源提供商可以合理地安排虚拟机,使得自己的收益最大化。输入:n x y2 4 2004 2 150…考虑到在虚拟机部署中资源提供商通常希...

2019-09-17 11:34:12 395

原创 Java 异常的处理

Java的异常类均继承自java.lang.Exception 在Exception下面有IoException .RuntimeException.....而RuntimeException下面又有IndexOutOfBoundsException...这些类是继承关系,在用多个catch语句捕获异常时,要遵循父类在上的原则,或则直接写一个catch(Exception e)的语句就可以捕获...

2019-03-31 17:36:13 122

原创 JAVA 异常处理,正则表达式的使用和匹配

Java的异常处理采用try catch的语句进行,相当于If else的循环语句,而throw 相当于system.out.print并且还会在加上while(true)时候还会退出程序package first_experience;import java.util.*;import java.io.*;import java.util.regex.*;pub...

2019-03-28 20:44:32 1287

原创 ccf/csp 图像旋转Java的实现

import java.util.Scanner;public class ex_20150301 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); /*String[] s_1=sc.nextLine().split(" "); int n=Integer.parse...

2018-12-13 11:19:47 450 1

原创 ccf/csp 中间数Java的实现

import java.util.Scanner;public class ex5_5 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s; s = sc.nextLine(); String[] s_1 = sc.nextLine().split(...

2018-12-12 20:23:02 267

原创 ccf/csp 分蛋糕Java的实现

小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。  请问当小明的蛋糕分完时,总...

2018-12-12 20:00:37 204

原创 ccf/csp 打酱油Java实现

  小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。输入格式  输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。输出格式  输出一个整数,表示小明最多可以得到多少瓶酱油。样例输入40样例输出5 这一题可以看成一个三元函数找最大值,定义三个变量...

2018-12-12 19:14:49 319

原创 Java 输入数据

在Java中,也需要输入数据,对于学过c++的人来说,Java的输入太不友好了,又长又麻烦,c++一行解决的Java要五行Java的输入类在util*中,在进行输入时,均需要在头部写import java.util.*;下一步也是固定的Scanner sc=new sc(System.in);//通过一个类创建sc对象,可以通过调用sc的方法来完成各种各样的输入一、直接输入一个...

2018-12-10 21:18:30 368

原创 ccf/csp 跳一跳java实现

package ex4;import java.util.*;public class ex5_1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String[] s_1=sc.nextLine().split(" "); int[] a=new int[30]; ...

2018-12-05 23:00:18 446

原创 ccf/csp 买菜Java实现

对于Java来说,首先要实现输入格式的统一,调用Scanner进行输入,然后进行转换该问题解决的方法是分成四个数组,分别存储甲的开始时刻,乙的开始时刻,甲的结束时刻,乙的结束时刻然后找出甲乙末时刻的最小值,将时刻由1开始递增到时刻的最小值,每次递增1在时刻递增的过程中,根据甲的起末时刻来判断该时刻是否在其内,满足条件则标志为1,乙也一样如果甲乙的标志同时为1,则说明符合条件,时间+...

2018-11-21 09:15:01 1433

原创 c语言堆排序

堆排序的基本思想是:首先将待排序序列构造成一个堆,然后通过变换构造一个根节点大于叶节点的大顶堆。最后按照由右到左,由下到上的交换顺序进行交换(将右子树的右子树,最右下角的与根节点进行交换),每次交换完成后调整堆使其仍然满足大顶堆。...

2018-11-19 21:24:49 149

原创 c语言快速排序

快速排序是基于分治法的重要排序算法,按照记录的值的对序列进行划分,具体步骤为1:初始化取第一个记录(值)作为基准,设置两个参数i,j分别用来指示将要与基准记录进行比较的左侧记录位置和右侧记录位置,也就是本次划分的区间(第一个值记为i,最后一个值记为j,按照中间位置划分,一分为2)2:右侧扫描过程将基准记录(i值,开始为第一个值)与j指向的记录进行比较,如果j指向的记录的值大,则j向...

2018-11-17 17:28:45 158

原创 c语言归并排序

归并排序是先将序列划分,然后进行递归,处理,最后把划分的序列合并void MergeSort(int r[],int s,int t)//r是要排序的序列,s是起始位置,t是末尾值{ int m,r1[1000];//排好序的序列合并到r1内 if(s==t)return;//如果首位置和末位置相当,则排序完成,也为递归退出的条件 else{ m=(...

2018-11-17 10:15:39 177

原创 c语言基数排序/桶排序

如果要排序的数字都是k位组成的十进制数,如3位的489,就可以采用基数排序,也称为桶排序排序步骤:对有效位为k的十进制数,可以把每个数字看成一个分量,如有效位为3的379的分量为3  7  9,设置十个桶,编号为0 1 2 3.....91:将要排序的n个整数置于一个单向队列中2:依次将队列中的每个数,按倒数第i的值x(如123倒数第一位的数字3开始,放入编号为3的桶中),放入编号...

2018-11-15 13:19:00 399

原创 用java写函数(方法)的方法,static的用法

在类中使用static修饰的静态方法会随着类的定义而被分配和载入内存中,而非静态方法属于对象的具体实例,只有在类的对象创建时在对象的内存中才有这个代码块(方法)意思就是你如果使用static修饰符,就可以在不创建对象的前提下调用该函数(方法),而如果使用static修饰符,就必须在创建对象后才能调用该方法,所以,如果你想像c语言那样写函数就要用static修饰符public class ...

2018-11-13 21:59:11 1280

原创 ccf/csp第一题java的实现

import java.util.*;//包和类的导入,导入标准输入输出库public class example3{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); String s;//定义String型s s=sc.nextLine();//将s作为输入,运行时...

2018-11-12 23:13:37 701

原创 c语言之冒泡排序

冒泡排序的思想是将相邻的元素进行两两比较,交换位置,大的放在后面,如将五个数进行比较,第一次排序将最大的放到了第五个,第二次比较将次要大的放到了第四个,依次类推,实现有序化void BubbleSort(int r[],int n){ for(int i=1;i&lt;=n-1;i++)//每次比较把最大的排在后面,进行N-1次后第一位一定是最小的 { fo...

2018-11-11 22:10:52 125

原创 c语言选择排序

选择排序开始的时候,扫描整个序列(扫描整个数组),找到数组中的最小数据和第一个进行交换,从第二个开始扫描,和第一个数据进行比较,比第一个小则记录数据并交换值,找出第一个最小后再在后面的数据依次进行本过程,直到完成最终的排序void SelectSort(int r[],int n)//r[]为数组,n为数组的大小{ for(int i=1;i&lt;=n-1;i++)//把1当成数...

2018-11-11 21:55:54 182

原创 Java return语句的使用

在Java中,return 是一个强大的语句,几乎什么都能return最简单的returnpublic int se(){ return a;}public String sx(){ return a;}也可以return 数字加字符的复合体等 private int age; private String name; public int g...

2018-11-01 21:46:19 381

原创 java 类的使用和import 的使用

在Java中不仅可以调用系统中的类,还可以自己创建类并且调用使用首先,创建一个新的包package,在这个包中创建一个或多个class 文件的类package new;class Person{ int age; String name; public void say() { System.out.println(age+name)...

2018-11-01 21:34:46 175

原创 java eclipse 之javaproject,package,class

在eclipse中,可以new出java project,package,class首先就是java project,这是最大的范围,创建一个文件时,首先需要new 一个java project 然后可以在这个java project中new 很多个包,即是package 每个package下面也可以有很多个class最好一个class文件下面只有一个class 类在同一个clas...

2018-11-01 21:26:50 1192

植物大战僵尸python

这是植物大战僵尸python的源代码,运行时需要自己改一下文件的位置,可以自己在网上找图片或者联系我。

2018-06-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除