Sei sulla pagina 1di 116

Bsd.

pdf
logg.pdf

jhjj.pdf
hsfg.pdf

pq_with_id - Copy.pdf
Binder1.pdf

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

asdd.pdf
logic.pdf

asdsd.pdf
hsfg.pdf

asd.pdf
pq_with_id.pdf

Binder1.pdf
Binder2.pdf

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

pq_with_id - Copy.pdf
Binder1.pdf

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

asdsd.pdf
asd.pdf

asd.pdf
pq_with_id.pdf

Binder1.pdf
Binder2.pdf

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

pq_with_id - Copy.pdf
Binder1.pdf

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

Binder1.pdf
Binder2.pdf

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

pq_with_id - Copy.pdf
Binder1.pdf

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

Brad-Mehldau-s-Solo-on-50-Ways-to-Leave-Your-Lover.pdf
pq_with_id - Copy.pdf

Brad Mehldau's solo on


50 Ways To Leave Your Lover
Transcription: Francois Jalbert



Piano

F#min

F#min

Pno.

C#7

F#min

Gmin75

C#7

F#min

Pno.

Bmin

A#dim

13

Pno.

F#min6

Gmin75

Amaj7

C#7

C#7

11

C#7

F#min

Pno.

C#7/G#

A#dim

15

Pno.

Bmin

Cdim

Bmin

G#min

Pno.

23

F#min

F#min

C#7

19

Pno.

C#7

17

Pno.

G#min

D#7

G#min

D#7





F#

Amin75

D#7

25

Pno.

G#min

27

Pno.

G#min

Amin75

F#

D#7

D#7

29

Pno.

C#min

G#min6

33

Pno.

Bmaj7

C#min

B#dim

31

Pno.

D#7/A#

Ddim

B#dim

D#7

F#

G#min

35

Pno.

C#min

D#7

G#min

37

Pno.


Emin

39

Pno.

Emin

Fmin75

B7

B7

4
41

Pno.

Emin

43

Pno.

Emin

Pno.

Emin

B7

Amin

G#dim

Emin6

B7

49

Pno.

Fmin75

45

B7

Gmaj7

B7/F#

G#dim

51

Pno.



Amin
Bbdim
B7
Emin

53

Pno.

Amin

B7

Emin

55

Pno.

F#min

57

Pno.

59

Pno.

61

Pno.

63

Pno.

F#min


C#7

Amaj7

C#7

C#7

Gmin75

C#7

A#dim

Gmin75

F#min

Bmin

F#min

65

Pno.

F#min

C#7



C#7/G#

6
67

Pno.

F#min6

69

Pno.

Bmin

Cdim

Bmin

C#7

73

Pno.

G#min

G#min

G#min

F#

Amin75

Amin75

D#7

D#7

80

Pno.

F#min

D#7

D#7

77

Pno.

F#min


C#7

71

Pno.

A#dim

G#min

G#min

F#

D#7

83

Pno.

C#min

B#dim

Bmaj7

D#7/A#

G#min6

86

Pno.

F#

89

Pno.

C#min

B#dim

C#min

Ddim

D#7

G#min

D#7

G#min

Emin

In class exercise:
Please design a priority queue data structure, priority_queue_with_id, that allows the user to
modify priority and delete a data with a specific id efficiently. You can modify code from
cp::priority_queue. It should have the following structure
template <typename T, typename Comp = std::less<T>>
class priority_queue with_id {
protected:
T*

mData;

size_t mCap;
size_t mSize;
Comp mLess;
// TODO: Your additional variables here
public:
priority_queue with_id (const Comp& c = Comp())

{ ... }

priority_queue with_id (const pr priority_queue with_id<T,Comp>& a) { ... }


~priority_queue with_id () { ... }
//------------- capacity function ---------bool empty() const

{ ... }

size_t size() const

{ ... }

//----------------- access ----------------const T& top() const

{ ... }

const size_t& top_id() const

{ ... }

//----------------- modifier --------------size_t push(const T& e) { ... } // return id


void pop()

{ ... }

void changeData(size_t id, const T& new_e) { }


void deleteData(size_t id) { }
// TODO: Your additional functions here
};

Hint: You can use stl::map to help, and achieve O(log2 n) or you can do better and be
O(log n)

Potrebbero piacerti anche