- 博客(44)
- 收藏
- 关注
原创 【ZedBoard学习实例1】 VGA显示彩条
针对不同尺寸的显示器,适用的分辨率也不同。VGA接口也是支持1920。增加了一个按钮,可以控制横彩条与竖彩条的切换。以上是增加的切换模式的模块。1080分辨率显示器的参数。
2023-11-23 14:50:21
260
原创 前缀树基本原理与26字符前缀树代码
建立一个前缀树,将字符串按照顺序连接成一棵前缀树。前缀树的每一个节点,都有一个path值表示通过了几次,end值表示在这个节点结束了几次。每一个节点可以产生下一级节点next,next是一个26位的数组,这是对于字符串是26个英文字母的情况。...
2022-07-21 14:41:53
376
原创 KMP算法与leetcode28题
介绍了什么是KMP,可以解决什么问题。分析了KMP算法里的next数组,知道了next数组就是前缀表。接着一步一步推导出了前缀表,分析了KMP算法的时间复杂度。
2022-07-20 22:14:51
604
原创 回溯算法的基本原理与组合问题
递归与回溯是相辅相成的,回溯函数就是递归的回溯。回溯算法是一个纯暴力的方法,可以通过剪枝的方法提高一些效率,但是仍然还是穷举的本质。
2022-07-16 01:03:19
309
原创 计算二面角随时间变化情况
计算包含咪唑环分子的咪唑环与x0y面形成的二面角的随时间变化情况。咪唑环的结构相对稳定,取咪唑环上的三个原子,N1,N2,C4,作为形成面的三个点。输入文件中包括6000帧时间的数据,每一帧是512个分子的数据。在本代码运行中,我只取了一个分子中的三个原子。 也就是每一帧有1536行的数据。每一行的格式为除此之外,为了区分每一帧,每一帧1536行数据上还有两行提示信息。...
2022-06-18 09:27:54
428
原创 哈希表_判断是否移位字符和赎金信
力扣题目链接LeetCode242给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
2022-06-16 19:15:20
61
原创 哈希表_基础理论与员工表实例
哈希表(Hash table)哈希表一般都是用来判断一个元素是否出现在集合里。要枚举的话,时间复杂度是O(n),用哈希表可以做到O(1)查询。通过hashCode把要存储的内容转换为数值,通过特定编码方式,将其他数据格式转化为不同的数值,就可以把存储内容映射到哈希表上的索引数字。实现了一个哈希表的实例,提供了代码。...
2022-06-16 16:11:19
142
原创 超算平台安装DL_POLY分子动力学软件
超算平台安装DL_POLY分子动力学软件DL_POLY是一种通用的经典分子动力学(MD)模拟软件,我希望你不会用到它。下载这个软件用的人很少,百度直接搜DL_POLY都没法直接下载。建议先搜索CCP5,然后找到DL_POLYSCD The DL_POLY Molecular Simulation Package (stfc.ac.uk)然后用邮箱账号注册一个身份之后,就会收到帮助下载的邮件。邮件中会给出最新版本的包链接这里写出4.10的链接同时可以参照安装教程来安装官方教程链接所需的环境
2021-12-31 21:29:11
2210
1
原创 二叉树的结构和遍历
二叉树二叉树节点结构class Node<V>{V value;Node left;Node right;}遍历二叉树用递归和非递归两种方式实现二叉树的先序、 中序、 后序遍历递归序先序遍历:对每一棵子树都先打印头,再打印左右。第一次来到的时候打印,第二次第三次来到都不打印。public static void preOrderRecur(Node head) { if (head == null) { return; } System.ou
2021-11-05 20:42:35
79
原创 链表算法与常见例题
链表简单介绍哈希表哈希表在使用层面上可以理解为一种集合结构如果只有key,没有伴随数据value,可以使用HashSet结构(在C++中叫UnOrderedSet)如果既有key,又有伴随数据value,可以使用HashMap结构(在C++中叫UnOrderedMap)有无伴随数据value,是HashMap和HashSet的唯一区别,底层的实际结构是一回事使用哈希表增(put)、删(remove)、改(put)、查(get)的操作,可以认为时间复杂度为O(1),但是常数时间比较大放入哈希
2021-11-04 11:51:25
145
原创 排序算法的稳定性及汇总
排序算法的稳定性及汇总稳定性稳定性是值,相同的值是否能做到相对顺序维持下来,仍然不变。如果对于基础类型数组的排序,这个稳定性并没什么用。但是对于两个字段的情况排序,就需要具备稳定性。比如在按照班级排序的情况,也按照年龄排序。 (通过比较器实现)各排序算法情况做到稳定性的冒泡排序,具有稳定性。相等的时候不交换,即可做到。插入排序,在往前看的过程中,相等的时候不插就可以做到。归并排序,可以做到稳定性。merge的时候,遇到相等的先拷贝左边的即可做到。其中小和问题就失去了稳定性,因为采用了先拷
2021-11-03 11:33:00
313
原创 堆排序和桶排序
桶排序以及排序内容总结堆堆结构就是用数组实现的完全二叉树结构什么是完全二叉树结构?从左到右依次遍满的就是完全二叉树结构。满足此结构,那么i结点的左孩子为2×i+1,右孩子为2×i+2。父节点为 (i-1)/2.堆是特殊的完全二叉树完全二叉树中如果每棵子树的最大值都在顶部就是大树根完全二叉树中如果每棵子树的最小值都在顶部就是小树根堆结构的heapInsert与heapify操作堆结构的增大和减小优先级队列结构,就是堆结构堆排序大根堆,父结点不能比子节点小。将最大值的顶结点去
2021-11-03 10:28:09
352
原创 时间复杂度为O(NlogN)的排序
认识时间复杂度为O(NlogN)的排序剖析递归行为和递归行为时间复杂度的估算用递归方法找一个数组中的最大值,系统上是怎么做的?求中点的时候一般不使用(L+R)/2,防止溢出。public class Code08_GetMax { public static int getMax(int[] arr){ return process(arr, 0 , arr.length -1); } public static int process(int[] arr
2021-10-29 16:10:17
453
原创 2021-10-23认识复杂度和简单排序
认识复杂度和简单排序常数时间操作一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。时间复杂度O(N2)两个算法都是O(N)的时候,也就是时间复杂度指标一样的时候,根据常数项来判断优劣。 分析实际运行时间来判断。排序算法选择排序package li.sort;import java.util.Arrays;public class Code01_SelectionSort { public static void main(String[]
2021-10-23 16:08:30
213
原创 20210911面向对象java学习日志_接口和内部类
接口普通类:只有具体实现抽象类:具体实现和规范都有接口:只有规范接口就是规范,定义的是一组规则接口的本质是契约UsersService.java//锻炼抽象的思维//不能定义方法public interface UsersService { //接口中的所有定义都是抽象的 默认是 public abstract //接口中定义的属性,默认都是常量 public static final int AGE = 99; void ad
2021-09-11 22:25:22
140
原创 2021-09-09面向对象
instanceof和类型转换instanceofObject object = new Student();//Object - String//Object - Person - Student//Object - Person - Teacher//是否存在父子关系System.out.println(object instanceof Student); //trueSystem.out.println(object instanceof Person); //trueSyst
2021-09-09 11:17:40
76
原创 2021_0908学习日志_多态
多态Application.javaimport Li.oop.demo06.Student;import Li.oop.demo06.Person;public class Application { public static void main(String[] args) { //一个对象的实际类型是确定的 Student s1 = new Student(); Person s2 = new Student(); O
2021-09-08 17:47:44
88
原创 Qt学习日志_2021_08_24
Qt学习日志_2021_08_24实现一个登陆窗口利用布局方式,给窗口美化选取widget,进行布局 水平布局、垂直布局、栅格布局给用户名、密码、登陆、退出按钮布局边缘默认9像素,可以调整利用弹簧进行布局效果如下图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hfRbh5mM-1629817656202)(D:\Qt\学习日志\Qt学习日志_2021_08_24.assets\image-20210824220647283.png)]垂直策略: Fix
2021-08-24 23:07:46
118
原创 Qt学习日志2021_08_23_对话框
消息对话框 //消息对话框 //1.错误对话框 QMessageBox::critical(this,"critical","错误"); //2.信息对话框 QMessageBox::information(this," info","信息"); //3.询问对话框 //返回值 if(QMessageBox::Save == QMessageBox::question(this," ques","询问",QMessageBox::Save|QMess
2021-08-24 21:51:05
97
原创 Qt学习日志_20210822_QMainWindow
2021_08_22_Qt学习日志_2_QMainWindowQMianWindow是一个为用户提供主窗口程序的类,包含一个菜单栏、多个工具栏、多个锚接部件、一个状态栏、一个中心部件,是许多应用程序的基础。创建窗口代码#include "mainwindow.h"#include <QMenuBar>#include <QToolBar>#include <QPushButton>#include <QDebug>MainWindow::Ma
2021-08-23 13:59:08
154
原创 Qt学习作业--(实现用按钮打开新窗口)
Qt学习作业–(实现用按钮打开新窗口)任务要求创建一个窗口,窗口上设置一个按钮,实现点击这个按钮让它打开一个新窗口,再次点击这个按钮,让窗口关闭。实现代码#ifndef WIDGET_H#define WIDGET_H#include <QPushButton>#include <QWidget>class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = 0)
2021-08-22 19:04:14
2320
原创 Qt学习日志2021_08_20_信号与槽
Qt学习日志2021_08_20对象树对象树的结构图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ozg2dtZH-1629554674535)(C:\Users\72408\AppData\Roaming\Typora\typora-user-images\image-20210821160153090.png)]当创建的对象在堆区,如果指定的父亲是QObject的派生下来的类或者QObject的子类派生下来的类,可以不用管理释放发操作,会将对象放到对象树中。一
2021-08-21 22:05:02
98
原创 Qt学习日志2021_08_20
Qt学习日志2021_08_20Qt项目的创建为了做一个Qt的项目,先来学习学习今天时间不多,先做一些简单的了解创建项目很简单,安装好Qt之后,就可以根据提示创建了。要注意:不能路径有中文项目名称也不能有中文、空格等上面还有很多的教程和实例,可以看看学习。优点:跨平台接口简单简化了内存回收三种窗口:QWidget (最简单的窗口,什么都没有)QMainWindow (拥有菜单栏等,算是子类)QDialog (对话框。也是QWidget的子类。)创
2021-08-20 23:05:08
223
原创 2021_08_20_面向对象_继承
继承JAVA中类只有单继承,没有多继承。除了继承,类和类之间的关系还有依赖、组合、聚合等。Object类 在JAVA中,所有的类都默认继承Object类。super注意点:super调用父类的构造方法,必须在构造方法的第一个super只能出现在子类的方法或者构造方法中super和this不能同时调用构造方法this代表的对象不同this: 本身调用者这个对象super: 代表父类对象的应用。只能在继承条件下使用。//父类public class P
2021-08-20 19:05:23
65
原创 2021_08_18学习日志
面向对象编程(OOP)(Object-Oriented Programming)以类的方式组织代码,以对象的方式组织(封装)数据封装继承多态回顾方法方法定义break和return的区别return代表方法结束方法名的命名规则,小驼峰,见名知意。参数列表:参数类型 参数名异常抛出:(后面补充)方法的调用静态方法非静态方法package com.oop.demo01;public class demo02 { public stati
2021-08-19 21:28:35
93
原创 20210813
数组数组概述想同类型的若干数据,按照次序排列组合而成每个数据可以通过一个下标访问。数组声明创建package com.li.Array;public class ArrayDemo01 { public static void main(String[] args) { int[] nums; int nums2[];//一般不这样写 nums = new int[10]; // //int[] nums = new
2021-08-13 23:06:46
74
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人